タイトルがちょっとわかりにくいような気もしますが…とりあえず今回は JavaScript の非同期処理について。
現在開発中のプロジェクトで、複数の非同期処理を実行し、そのすべてが終わった後でローディングアイコンを非表示にするという処理を行いたくてコードを修正しました。
参考にさせていただいた記事はこちら。
複数の非同期処理を実行して結果待つ – Qiita
https://qiita.com/horikeso/items/6830014923216db009b3
サンプルコードはこちらです。
Promise.all([func1(), finc2()]).finally(() => {
  // 全処理が終了したら実行する処理
});
Promise.all() に実行したい関数を配列形式で渡します。
で、全部の処理が終了したら、finally() が呼び出されるので、そこに実行したい処理を記述しました。
こちらを実装したところ、問題なく意図した通りに実行されました!
なお、今回は実行する関数の成功・失敗に関係無しに全処理が終了したら実行したい処理だったので finally() を使いましたが、もちろん、then() や catch() を使うこともできます。
JavaScript の Promise はあまり使ったことがないので、これから勉強していきたいと思います!
以上、JavaScript の複数の非同期処理を実行し、それらの処理が全部終了したら、それを検知する方法についてでした。
ご参考になれば幸いです。
 
					         
               
                       
                