Javascript 从$http.get()返回的数据不是序列
我想从3个仅id不同的源URL获取数据。我得到的结果很好,但不是按顺序。我的代码是:Javascript 从$http.get()返回的数据不是序列,javascript,angularjs,Javascript,Angularjs,我想从3个仅id不同的源URL获取数据。我得到的结果很好,但不是按顺序。我的代码是: 变量数据=[{id:“1”},{id:“2”},{id:“3”}]; var get=[]; 对于(i=0;i您应该使用 var data = [{"id":"1"},{"id":"2"},{"id":"3"}], promises = []; for(i = 0; i < data.length; i++) promises.push($http.get("server URL"+d
变量数据=[{id:“1”},{id:“2”},{id:“3”}];
var get=[];
对于(i=0;i您应该使用
var data = [{"id":"1"},{"id":"2"},{"id":"3"}],
promises = [];
for(i = 0; i < data.length; i++)
promises.push($http.get("server URL"+data[i].id));
$q.all(promises)
.then(function(result) {
$scope.data = result;
}, function(err) {
console.log(err);
});
var data=[{“id”:“1”},{“id”:“2”},{“id”:“3”},
承诺=[];
对于(i=0;i
结果将是一个数组,其结果按请求的顺序排列。您可以执行以下操作:
var data = [{"id":"1"},{"id":"2"},{"id":"3"}];
var get = [];
var i = 0;
function loadDataInSequence(){
if(i<data.length){
$http.get("server URL"+data[i].id)
.success(function(data) {
get[i] = data;//calling callback
loadDataInSequence();
})
.error(function(err) {
console.log(err);
});
i++;
}
}
$scope.data= get;
var data=[{“id”:“1”},{“id”:“2”},{“id”:“3”}];
var get=[];
var i=0;
函数loadDataInSequence(){
如果(i对于这种情况,有一个库称为。
您可以使用异步并行代替for循环。
还有一些帮助工具,如系列和限制,用于不同类型的需求。你能抓拍结果吗?我使用了我的代码演示,所以我不能发布我实际代码的演示。对不起。我得到了承诺。那不是函数错误。你能帮我吗?@Atula抱歉,我更新了我的答案,我忘了q。所有
谢谢非常@Martijn,现在一切正常。