アプリで複数の非同期リクエストを実行する必要があるが、すべてのリクエストが完了してからデータを操作したいとします。
バニラJSまたはjqueryでこれを達成する最も簡単な方法は何ですか? コードのサンプル
アプリで複数の非同期リクエストを実行する必要があるが、すべてのリクエストが完了してからデータを操作したいとします。
バニラJSまたはjqueryでこれを達成する最も簡単な方法は何ですか? コードのサンプル
jQuery の promise システムを使用すると、これを簡単に行うことができます。
$.when(req1, req2, req3).done(function(res1, res2, res3) {
// all requests finished successfully
});
変数はreqN
、によって返されるような promise オブジェクトである必要があります$.ajax()
。
個別の変数の代わりにそれらの配列がある場合は、代わりにこれを使用できます。
$.when.apply($, reqs).done(...);
関連ドキュメント: http://api.jquery.com/jQuery.when/