Smart Communication Design Company
ホーム > ナレッジ > Blog > フロントエンドBlog > 2019年7月 > Promise.allSettled()がStage4になりました

Promise.allSettled()がStage4になりました


リードUI開発者 宇賀

みなさんこんにちは!UI開発者の宇賀です🍣🍵

先日はJapan Accessibility Conference vol.2へ一般参加してきたので、アクセシビリティ的なお話をしようかと思ったのですが、別途参加レポートがアクセシビリティBlogにて公開されておりますので気になる方はそちらをご覧ください😉✨

今回はPromise周りで新しいニュースが飛び込んできましたので、それに関するお話です🤝。

Promiseといえば、通常同期的(1つの処理が終わるまで次の処理へは進まない)なJavaScriptにおいて、非同期的な処理を行う時によく登場するキーワードですね。

複数のPromiseが解決するのを待つ方法(Promise combinators)に、いくつかのメソッドが存在します。

メソッド 説明 備考
Promise.all() 受け取ったすべてのpromiseが成功されるのを待つ
Promise.allSettled() 受け取ったすべてのpromiseが成功失敗に関わらず解決されるのを待つ Stage 4
Promise.race() 受け取ったprimiseのうち、どれか1つが成功失敗に関わらず解決されるのを待つ
Promise.any() 受け取ったprimiseのうち、どれか1つが成功するのを待つ Stage 2

JavaScriptもといECMAScriptにもW3Cの勧告プロセスのような標準化プロセスがありますが、この度allSettled()が最終段階のStage 4となりました!

Google Chromeでは76から、Firefoxは68、Safariは13から実装されているようです!
https://v8.dev/features/promise-combinators#promise.allsettled

JavaScriptは、日々どんどん使いやすく便利になっていきますね!今後の動向もしっかり見守っていこうと思います!