【发布时间】:2016-02-18 04:01:10
【问题描述】:
我需要从对返回的结果数量有限制的 api 中检索数据。
使用找到的结果总数,我可以进行额外的 ajax 调用,直到检索到所有数据。但是,在页面上显示之前,我需要按字母顺序对所有数据进行排序。
在所有 ajax 调用成功后,如何访问数组中的数据?
这是我目前所拥有的:
var mydata = [];
function loadPosts() {
var api = 'http://someurl.com';
$.ajax({
url: api,
dataType: 'jsonp',
data: {
rows: 1,
},
success: function(data) {
totalNumberOfRecords = data.numFound;
for (var start = 0; start < totalNumberOfRecords; start += rows) {
$.ajax({
url: api,
dataType: 'jsonp',
data: {
'rows': rows,
'start': start,
},
success: function(data) {
$.each(data.namesList, function(index, item) {
mydata.push(item.firstName);
});
},
});
}
},
});
}
console.log(mydata);
【问题讨论】:
-
哦。回调地狱。您不应该在循环中使用 ajax。 Ajax 是异步承诺。您可以使用关键字找到一些想法解决方案:异步瀑布(nodejs异步库)
标签: javascript jquery json ajax api