for (var i = 0; i < pricingPlans.length; i++) {
productServices.retrivePricingPlan(pricingPlans[i].Id.Value).then(function (objPricingPlan) {
productServices.createPricingPlan(objPricingPlan.data).then(function (objNewPricingPlan) {
var newPlanID = objNewPricingPlan.data.PricingPlan.Id.Value;
console.log("New ID");
console.log(newPlanID);
console.log("Old ID");
console.log(product.PricingPlanAssociations[i].PricingPlanId.value);
// product.PricingPlanAssociations[i].PricingPlanId.value = newPlanID
});
});
}
我在for
循环中进行REST调用,但我希望REST调用按以下顺序执行:
答案 0 :(得分:1)
因为AJAX调用都是异步的,并且for
循环是同步的,所以实际调用可以是任何顺序。
但是,“依赖”调用的顺序是正确的。 (也就是说,promise链在调用Create之前总是会调用Retrieve)
如果您确实需要按顺序工作,可以创建一个队列来管理异步调用顺序。