У меня есть эта веб-страница, которая при загрузке запускает функцию ( loadListItems ) с некоторыми вызовами AJAX, чтобы заполнить список 10 элементами (в рекурсивном вопросе есть несколько вызовов, чтобы получить 10 VALIDitems).
На странице есть кнопка, которая видна постоянно, и эта кнопка предназначена для загрузки дополнительных элементов в списке (следующие 10 VALID-элементов).Кнопка также вызывает loadListItems .
Я хочу, чтобы нажатие кнопки вызывало функцию loadListItems , однако, если предыдущий вызов функции не завершен, яхотите поставить в очередь новый вызов, чтобы он выполнялся всякий раз, когда завершается.
function pageLoad() {
loadListItems();
}
var finished = false;
function loadListItems() {
jQuery.ajax({
url: ...
}).done(function (data) {
//do stuff with the data
if (not enough data loaded) {
//then call again recursively
loadListItems();
} else {
//we're done
var finished = true;
}
});
}
function buttonHandler() {
if (finished) {
loadListItems()
} else {
//run loadListItems whenever it finishes.
}
}
Как этого добиться?