我想写一个函数执行一打异步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