【发布时间】:2016-07-29 13:08:15
【问题描述】:
我有这个 API 调用,但我在我的successCallback 中没有按照我发送它的顺序接收数据。
for (var i = 0; i < data.length; i++) {
$http.post('/api/bla/blabla', $.param(data[i]))
.then(successCallback, errorCallback);
}
var successCallback = function (response) {
/*
receive data in random order.
assume its being send / handled so fast, thats its random
which gets done first.
*/
};
我能否以某种方式等待接收所有数据,然后将其重新排序为原始顺序?还是有其他解决方案。
【问题讨论】:
-
你可以这样做,但是在一个请求中发送所有数据会非常非常容易。
-
看到这个问题stackoverflow.com/questions/21310964/angularjs-q-all你可以使用 $q.all 在你的所有承诺都得到解决后执行代码
-
我正在使用的后端不支持:/需要一次接收一个。
-
它仍然会一次接收一个,只是所有请求结束后都会调用回调