我想寫一個函數執行一打異步ajax請求,等待所有的完成,然後返回聚合信息。像:等待異步ajax請求完成
function countHealthy(urls) {
var healthy = 0;
for (var i = 0; i < urls.length; ++i) {
$.ajax({url: urls[i], async: true, id: i})
.done(function (data) { ++healthy; });
}
// Wait for all ajax to finish.
return healthy;
}
PS:++健康線程是否安全?
其實我不認爲這會工作。在函數結尾處有一個隱式的'return'。所以當$ .ajax調用被放在堆棧上時,所有事情都會繼續前進,並且函數將退出。我現在會倒下。 – the0ther 2015-03-16 16:19:34