我用作业构建了一个数组。作业按开始和结束事务分组。事务是对Web服务的调用。整个交易可能如下所示:
我的伪代码看起来像这样:
for (var i=0;i<jobs;i++)
{
$http(job);
}
这很好用,但顺序是随机的。我需要确保订单得到维护。怎么能强制执行呢?
答案 0 :(得分:2)
保存您var options = {
uri: 'http://localhost:8000/sampleRoute',
method: 'POST',
headers: {
authorization: 'authorizationToken'
},
form: {dataset: 'test_dataset'},
resolveWithFullResponse: true
};
电话的承诺,让下一份工作等到上一份工作完成。这看起来像这样:
$http
答案 1 :(得分:0)
我不认为循环是一种很好的方法,我建议使用$q
并使用promise来迭代你的任务。
function myPromiseFunction() {
return $q(function(resolve, reject) {
doThingOne
.then(doThing2)
.then(doThing3)
.then(doThing4)
.then(resolve)
.catch(function(error) {
console.log("Error in my promise:", error);
});
});
}
doThing
是执行每个所需行为的函数,因此在您的情况下,第一件事就是创建事务,并在需要时将内容返回到下一个函数。