У меня есть следующий async/await
метод:
async todo() {
const res = await axios.get('/todo')
}
getTodo() {
this.todo()
}
Теперь, в async/await
, как вы узнаете, что запрос выполнен (200)?В Promises мы просто используем then
:
// store/todo.js
todo() {
const res = axios({
method: 'GET',
url: '/todo'
})
return res
}
// components/Todo.vue
getTodo() {
this.todo().then(res => {
console.log('Request Executed Successfully!')
})
}
Это прекрасно работает, но когда я пытаюсь добавить async/await
в getTodo и выполнить что-то вроде этого:
async todo() {
try {
const res = await axios.get('/todo')
return res
} catch(e) {
console.log(e)
}
}
async getTodo() {
try {
await this.todo()
console.log('Request Completed')
} catch(e) {
console.log(e)
}
}
Демо:https://jsfiddle.net/jfn483ae/
Это просто не работает.Журнал выполняется до того, как запрос будет завершен, то есть после возникновения какой-либо ошибки.Пожалуйста, помогите.