여기에 코드입니다 :자바 스크립트 약속/후 올바른 순서로 실행되지
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 –