jqueryを使用してhtml要素のグループを反復処理していeach
ます。各反復で、を呼び出しますget
。成功したgetを追跡し、最後にカウントを出力したいと思います。
var numSuccessful = 0;
$('.mySelector').each(function(){
$.get('/myCfc.cfc?method=doSomething&id=' + $(this).attr('id'),
function(data){
numSuccessful++;
});
});
alert(numSuccessful + ' successful');
このコードの問題は、各メソッドがすべてのget呼び出しを開始し、getsを完了する前、およびnumSuccessful変数が更新される前にアラートを継続することです。テスト実行では、アラートの実行が速すぎたため、「4成功」ではなく「0成功」になりました。続行する前に、すべての取得が完了するまでコードを待機させるにはどうすればよいですか?「each」ステートメント全体の成功コールバックはありますか?