【发布时间】:2014-06-14 03:10:32
【问题描述】:
我有一个关于多重承诺的小问题。 我怎么能等待所有的承诺都将完成以返回最终结果。
查看我的代码:
getInfo : function(){
return promiseA.then(function(result){
info = result;
//this function have also promises
return ServiceA.functionA(info.login)
.then(function(favouriteItems){
info.favorites = favouriteItems;
return $q.when(info);
});
});
},
我的目标是在返回值之前等待 ServiceA.functionA 的结果。
谢谢
K.L
【问题讨论】:
-
使用
$q.all()。 -
在这种情况下不可能使用$q.all(),因为函数ServiceA.functionA需要使用promiseA的结果。
-
在我看来你已经是了。
getInfo返回的 Promise 将在其favorites项目在最终回调中修改后使用info解析。