如果 GET 请求 returns 出现 404 错误,则中断 javascript 链
break javascript chain if GET request returns a 404 error
我想知道如果 API 调用 returns 出现 404 错误,如何打破 angular 中的函数链,如果是 200 响应,如何继续链.我想执行一串函数,其中一个是对 API 的 GET 请求。这 returns 200 成功或 404 错误。如果是 200,我希望链继续执行,如果是 404 错误,我希望它中断。
这可能吗?我的做法是否正确?
我的代码如下:
在我的 service.js 文件中
function breakIfErrorReturned () = {
promiseChain = saveSignupData(Data)
.then(doPreTest)
.then(TestResource.doTestPayment)
.then(makeFinalRailsCall(id))
.then(sendAnalytics)
return promiseChain;
}
function makeFinalRailsCall(tracking_id){
return service.finalTestCheck.checkPackage({tracking_id:tracking_id})
.$promise.then(function (data) {
console.log(data)
}, function (errorResponse) {
return;
});
}
通过向我的代码添加 catch()
语句,如果从 GET 请求收到 404 错误,我可以中断链。
function makeFinalRailsCall(tracking_id){
return service.finalTestCheck.checkPackage({tracking_id:tracking_id})
.$promise.then(function (data) {
console.log(data)
}).catch(function(err){
console.log(err)
});
}
我想知道如果 API 调用 returns 出现 404 错误,如何打破 angular 中的函数链,如果是 200 响应,如何继续链.我想执行一串函数,其中一个是对 API 的 GET 请求。这 returns 200 成功或 404 错误。如果是 200,我希望链继续执行,如果是 404 错误,我希望它中断。
这可能吗?我的做法是否正确?
我的代码如下:
在我的 service.js 文件中
function breakIfErrorReturned () = {
promiseChain = saveSignupData(Data)
.then(doPreTest)
.then(TestResource.doTestPayment)
.then(makeFinalRailsCall(id))
.then(sendAnalytics)
return promiseChain;
}
function makeFinalRailsCall(tracking_id){
return service.finalTestCheck.checkPackage({tracking_id:tracking_id})
.$promise.then(function (data) {
console.log(data)
}, function (errorResponse) {
return;
});
}
通过向我的代码添加 catch()
语句,如果从 GET 请求收到 404 错误,我可以中断链。
function makeFinalRailsCall(tracking_id){
return service.finalTestCheck.checkPackage({tracking_id:tracking_id})
.$promise.then(function (data) {
console.log(data)
}).catch(function(err){
console.log(err)
});
}