我认为您的意思是您不想最终$.post
同时调用请求,并且您想等到最后一个完成后再进行下一个。
您可以以丑陋的方式做到这一点,而无需任何外部库执行以下操作:
<script src="text/javascript">
var count = 0;
function doRequest()
{
if (count >= myArray.length)
return null;
$.post('prova.php', { myparameter: p1 }, function(msg)
{
updateUI();
count++;
doRequest();
});
}
doRequest();
</script>
或者你可以使用我最喜欢的 JavaScript 库之一,async。这使您可以编写更理智、更容易理解的代码,并执行以下操作:
<script type="text/javascript">
var count = 0;
async.whilst(function() //test function, stop running when this is return false
{
return count < myArray.length;
},
function(callback)
{
$.post('prova.php', { myparameter: p1 }, function(msg)
{
updateUI();
count++;
callback(null); //callback with null as the error
});
},
function(error) //this is called when we're done
{
//do stuff
});
</script>
这两个函数中的任何一个都应该为您一次只处理一个请求,假设这是您想要的。