Наконец-то я получил Angular обработку ошибок обещания, но для меня это было интуитивно понятным. Я ожидал, что ошибки будут обработаны обратным вызовом отказа, но вместо этого мне пришлось использовать catch.
Я не совсем понимаю концептуально, почему выполняется catch, а не обратный вызов отказа.
Что я ожидал:
SomeAsyncService.getData().then(function (result) {
// The call is successful.
// Code in this block throws an error.
}, function (error) {
// I expected to handle errors here.
});
Что в итоге сработало.
SomeAsyncService.getData().then(function (result) {
// The call is successful.
// Code in this block throws an error.
}).catch(function (error) {
// Where the error is actually caught.
});
Если есть более подходящий способ обработки обещаний, сообщите мне.