У меня есть две функции, которые возвращают вызовы AngularJS '$ http.post.Эти две функции - savePart1 () и savePart2 ()
savePart1 = (): IPromise<any> => {
return $http.post(....)
}
savePart2 = (): IPromise<any> => {
return $http.post(....)
}
Я пытаюсь не вызывать callPart2 (), если savePart1 () завершается ошибкой.Я сделал что-то вроде этого:
this.savePart1().then((response1) => {
if (response1.status !== 200)
// don't call savePart2()
this.savePart2().then((response2) => {
if(response1.status === 200)
//display success message when both calls succeed
}):
}), (error) => {
//handle error;
}).finally();
Мой вопрос заключается в том, как отменить вызов savePart2 (), если ответ от savePart2 () не вернул статус 200 (не обязательно ошибка).У IPromise, похоже, нет метода отклонения.Я только что вернулся с первого обещания?
Также моя цель - показать сообщение об успешном завершении, когда оба вызова будут успешными.Является ли мой синтаксис лучшим способом сделать это.Я хотел бы добавить обработчик ошибок при сбое любого вызова.