[英]Using api calls in promise function
我没有完全理解诺言如何运作。 我做了一个函数,该函数执行使用promise的api调用。
function getSomeData(email, password) {
axios.post('SomeURL/login', {
email: email,
password: password
})
}
每当此函数触发时,我都可以获得所需的数据。 但每当发生错误,错误将在中显示出来.then()
调用甚则.catch()
getSomeData().then(data => {
console.log(data)
})
我怎样才能确保,当我打电话.catch()
就会有显示我的错误,而不是在.then()
您需要像这样返回承诺:
function getSomeData(email, password) {
return axios.post('SomeURL/login', {
email: email,
password: password
})
}
然后它应该可以工作(如果axios.post
调用返回promise)。
您可以使用if语句来处理业务逻辑错误。 然后catch错误将处理服务器错误。
function getSomeData(email, password) {
return axios.post('SomeURL/login', {
email: email,
password: password
})
.then(response => {
if (response.statusText === 'OK') {
// LOGIN SUCCESS
// Do something with the login result
} else {
// LOGIN FAILURE, but not server failure
// Redirect to login page, and give a message
}
})
.catch(error => {
console.log(error)
// API is down
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.