創屋ぷれす

Promise ( ECMAScript 6 )

WEBアプリの開発においては、JavaScript の複雑な非同期処理が要求される事も多いと思います。具体的には、複数の非同期処理の逐次実行・並列実行の制御ということになります。

1回だけの実行ならこれまでも当たり前のようにありましたが、昨今では1つのUI(WEB画面)から、同一システム間はもちろん、API経由で外部にアクセスするなどのケースも増えています。

このようなケースでコーディングすると、以前はコールバック地獄と言われるような、一種のスパゲッティコード化を招く事が問題になっていたため、Promise というパターンが ECMAScript 6 で導入され、また、Promise をさらにラップしたような仕組みである async / await が ECMAScript 8 で導入されるようです。

Promise や async / await は前述の「複数の非同期処理の逐次実行・並列実行の制御」を簡易にコーディング出来るものですが、詳細については↓のサイトが分かりやすいです。

JavaScriptは如何にしてAsync/Awaitを獲得したのか Qiita版

また、ECMAScript の仕様と各ブラウザの実装状況を↓で確認できるのですが…

https://kangax.github.io/compat-table/es6/

IE11は、Promise 未対応ですね。ちょっと愕然としましたが、最近では polyfills という概念があり、JavaScript読込の記述を1行追加するだけでIE11でも Promise を使えるようになっているとの事で助かります。

Comments are closed.