我正在尝试使用我的资源处理错误,然后处理$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
中只有一件商品,但这不应该有所不同吗?
答案 0 :(得分:12)
根据迈克尔的评论
我改变了
var promiseList = [user];
对此:
var promiseList = [user.$promise];
现在$q.reject()
正在接收$q.all()
。
太棒了,谢谢你的建议。