У меня есть некоторый код, который выглядит следующим образом (я пропустил части, которые не важны для вопроса):
$.ajax({
type: "POST",
url: "prepXML.php",
data: "method=getartists&user=" + userName + "&amount=" + amount,
dataType: "xml",
success: function(xml) {
$("artist", xml).each(function(){
// calculate and output some stuff and then call getTracks()
getTracks(artistName, artistNamePOST, artistPlaycount, divId, artistId);
});
}
});
function getTracks(artistName, artistNamePost, artistPlaycount, divId, artistId){
$.ajax({
type: "POST",
url: "prepXML.php",
data: "method=gettracks&user=" + userName + "&artist=" + artistNamePOST + "&playcount=" + artistPlaycount,
dataType: "xml",
success: function(xml){
// calculate and output some stuff
});
}
});
Когда он запускается, он вызывает getTracks () пятьдесят раз и выполняет довольно небольшую (серверную) загрузку ЦП за очень короткое время, пока все не будет выполнено. Я хотел бы сгруппировать запросы AJAX getTrack (), например, по 5 раз, подождать, пока эти пять не будут выполнены, затем вызвать следующие пять, дождаться, когда следующие пять будут выполнены, вызвать следующие пять и т. Д. Цель этого состоит в том, чтобы делать меньше запросов в одно и то же время (меньше и более равномерно распределять нагрузку на процессор).
Я не уверен, как или даже если это можно сделать, так как это отчасти превосходит AJAX, но я все же хотел бы сделать эту работу, если это возможно. Может ли кто-нибудь, пожалуйста, указать мне правильное направление? Спасибо.
Чтобы лучше понять, для чего мне это нужно и что делает приложение, вот ссылка на приложение . его можно попробовать с любым последним ником (если у вас его нет, вы можете использовать мой - "pootzko"). Я надеюсь, что мне разрешено помещать ссылку в сообщении (?), Если нет, не стесняйтесь удалить ее ..