【发布时间】:2015-02-21 03:37:56
【问题描述】:
我正在使用$q 检查两个资源的查询是否已解决。像这样:
$q.all([
ResourceA.get({}, function success(data) {
console.log("got A");
}).$promise,
ResourceB.get({}, function success(data) {
console.log('got B');
}).$promise
]).then(function() {
console.log("done");
});
问题是,我在每个 success 函数中收到的 data 可能不是我想要的,我想检查是否是这种情况,然后拒绝通讯员的承诺。喜欢:
$q.all([
ResourceA.get({}, function success(data) {
if (data.key !== "secret") {
// REJECT THE PROMISE
}
}).$promise,
ResourceB.get({}, function success(data) {
console.log('got B');
}).$promise
]).then(function() {
console.log("done");
});
这可能吗?如何?有更好的方法吗?
【问题讨论】:
-
您可以添加第三个承诺并解决或拒绝它
-
不要使用
success回调。使用then!
标签: javascript angularjs promise angular-promise