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

前端之家收集整理的这篇文章主要介绍了javascript – 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()提取.

真棒,谢谢你的意见.

猜你在找的JavaScript相关文章