AngularJS在$q.all中处理被拒绝的资源



我正在尝试处理资源错误,然后在$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()接走.

太棒了,谢谢你的建议。

相关内容

  • 没有找到相关文章

最新更新