비동기 아약스 요청을 12 회 수행하고 모든 것이 끝나기를 기다렸다가 집계 된 정보를 반환하는 함수를 작성하고 싶습니다. Like :비동기 아약스 요청이 완료 될 때까지 기다려주십시오.
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;
}
추 신 : ++ 건강한 스레드는 안전합니까?
당신은 "when.apply"작동하는 방법의 아이디어를 얻을 수 있습니다, 사실 난이 작동합니다 생각하지 않습니다. 함수의 마지막에는 암시적인'return'이 있습니다. 그래서 $ .ajax 호출이 스택에 놓이면 모든 것이 계속 움직이고 함수는 종료된다. 나는 지금 downvote 것입니다. – the0ther