我正在尝试处理资源错误,然后在$q.all()
中处理资源拒绝。
这是我的代码:
var user = User.get({id: 1}, function() {
// Success
}, function(response) {
// Error
return $q.reject(response);
});
var promiseList = [user];
$q.all(promiseList).then(function(){
// Success <-- this seems to run all the time
}, function(response) {
// Error <-- this never seems to run but I want it to
});
当我的用户资源收到 404 时,错误回调会处理它并返回$q.reject
。
但是,我的$q.all
中的成功回调被调用,而不是我的错误回调。我会认为因为我拒绝了我的承诺,$q.all
错误回调会被触发?
我很感激我promiseList
只有 1 件物品,但这不应该有什么不同吧?
根据迈克尔在评论中的说法
我变了
var promiseList = [user];
对此:
var promiseList = [user.$promise];
现在$q.reject()
正在被$q.all()
接走.
太棒了,谢谢你的建议。