我的代码是这样的,
app.controller('myController', function($scope, MyService, ...) {
MyService.getInfoFromUrl('MyUrl').then(function(result) {
console.log("Successfully get info from URL ...");
}, function(error) {
console.log("Server error ...");
console.log(error);
});
});
所以当我用错误路径测试它时,我明白了 服务器错误 ... 未定义
获取错误信息的正确方法是什么?
最佳答案
我认为您需要在 getInfoFromUrl() 中处理服务器错误,然后当您的 promise 出现错误时,调用 -
getInfoFromUrl(){
return new Promise(function(resolve,reject){
//some code to get info
if(noErrors){
resolve(Info); //This will return value to first callback
else if(hasErrors){
reject(error); //This will throw error
}
});
}
reject(error)
然后按原样使用 Wasiq Muhammad 的代码。
MyService.getInfoFromUrl('MyUrl').success(function(result) {
console.log("Successfully get info from URL ...");
}).catch(function(error){
console.log("Server error ...");
console.log(error);
});
希望有帮助。
关于javascript - 处理 Angular.js promise 错误状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797789/