【发布时间】:2014-12-21 07:23:21
【问题描述】:
在做某事之前,我需要等待两个 Promise 解决。问题是,有时我只能根据客户的要求发送一个 Promise,而我需要依靠来自这个 $q 的结果。全部。如何动态定义变量?
var makePurchaseToResolve = [];
if( CartService.items.draws.length ) {
var drawOrder = {};
drawOrder.price = $scope.getTotal();
drawOrder.paymentMethodId = $scope.payment.paymetMethodId;
drawOrder.orderItems = CartService.items.draws;
drawOrder.payFromBalance = false;
makePurchaseToResolve.push(DrawService.makePurchase(drawOrder));
}
if( CartService.items.hunters.length ) {
var hunterOrder = {};
hunterOrder.paymentMethodId = $scope.payment.paymetMethodId;
hunterOrder.orderItems = CartService.items.hunters;
makePurchaseToResolve.push(HunterService.makePurchase(hunterOrder));
}
$q.all(makePurchaseToResolve).then(function( res ) {
$q.all([HunterService.getPurchase(res[0].data.data),DrawService.getPurchase(res.data.data)]).then(function() {
//here is the problem, because i dont know if i have the two promises to resolve or only one
$scope.hunters = res[0].data.data[0];
$scope.drawOrder = res[1].data.data;
})
}
【问题讨论】:
-
总是1还是2?
-
不,以后会更多。我需要它灵活。
-
是的,这是如何工作的,我需要先下订单,然后取回 id,然后创建新的发布请求以获取订单。
标签: javascript angularjs promise