在一个 javascript 函数中,我调用服务器并获取 10 条记录的批次。我需要这样做,直到我有所有的记录。
首先我做了一个while循环,在ajax调用的错误回调中我将结束while循环。
中途我开始意识到那是行不通的,因为 ajax 调用是异步的,因此我会在循环中触发大量请求。我确定有一个标准模式可以做到这一点,但我不知道如何。
只要调用不返回错误,我如何在循环中执行 ajax 调用并执行它?我正在构建的伪代码:
var stillRecordsAvailable = true;
while (stillRecordsAvailable) {
// get the next batch of records
$.ajax({
url: '/getrecords.json',
data: {data_set_id: dataset.id},
type: 'GET',
success: function(data, textStatus, xhr) {
// do something
},
error: function(xhr, textStatus, errorThrown) {
// nothing left to do
stillRecordsAvailable = false;
}
});
感谢您为我指明正确的方向