下面的代碼:的Javascript承諾/然後在不正確的順序執行
vm.saveData = function(data) {
demoService.saveData(data, function(response) {
if (response.status === 200) {
principal.identity(true).then(function() {
$state.reload();
return toastr.success('Success');
});
}
return toastr.error('Failure');
});
}
在充分利用API成功響應,它應該只顯示「成功」的消息。但是,它首先顯示'失敗'消息,然後顯示'成功'消息。我究竟做錯了什麼?我是否需要暫停或者有什麼我在這裏失蹤的東西?
在'else'中返回錯誤。 –
是的,這是最簡單的解決方案,它也起作用。如果我使用其他,那麼我可以簡單地使用toastr來顯示消息並從那裏刪除返回。但我知道我做錯了,這就是爲什麼,那麼不行。我只是想知道我的錯在哪裏。 – Samridhi
承諾的最佳解釋:https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html –