就像标题所说,我使用多个 url 来获取数据,并且使用 jquery .get() 方法。例如:
var m=0;
$.get(url1).done(function(data)
{
list[m] = data;
m++;
}
$.get(url2).done(function(data)
{
list[m] = data;
m++;
}
$.get(url3).done(function(data)
{
list[m] = data;
m++;
}
$.get(url4).done(function(data)
{
list[m] = data;
m++;
}
我有四个 url,我将数据放入数组 list[]
中。我需要按顺序排列数据,这意味着 list[1]
来自 url1,list[2]
来自 url2,依此类推。
但问题是,它并不总是按顺序排列的。有时我会从 url4 获取 list[1]
或从 url1 获取 list[2]
等数据。似乎使用多个 .get() 函数并不总是按顺序返回数据。你们知道如何使用.get()函数让数据按顺序返回吗?
最佳答案
一种解决方案是将它们全部链接在一起,这样一次获取的成功就会触发下一次获取。您可以设置另一个函数在最后一次获取完成时调用作为回调。像这样的东西(没有测试过)
var m=0;
$.get(url1).done(function (data) {
list[m] = data;
m++;
$.get(url2).done(function (data) {
list[m] = data;
m++;
$.get(url3).done(function (data) {
list[m] = data;
m++;
$.get(url4).done(function (data) {
list[m] = data;
m++;
alldone(data);
});
});
});
});
function allDone(data) {
//do this when last one completes
}
关于javascript - 使用多个 jquery .get() 不会按顺序返回数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38004827/