[js]Promiseについて学ぶ


[まとめ] 現在開催中のKindleセール情報はこちら

By: Kinshuk Sunil

昨日のES6(ES2015)の基本文法を学ぶの続きで、今回はPromiseについて学びました。

Promise本こと『JavaScript Promiseの本』を読んで学んだのですがとても分かりやすかったです。

以下はざざっと読んだメモ。

  • 「jsでの非同期処理といえばcallback」となっていたが、callback記法はあくまでコーディングルール
  • Promiseの登場により、非同期に対するオブジェクトとルールを仕様化し、統一的なインターフェースで書けるようになった
  • PromiseはEvent等とは違い、.thenで登録した関数が呼ばれるのは1回限りということが明確になっている
  • Promiseは常に非同期で処理されるという事が仕様で定められている
  • promise chainでの値渡しはメソッド内でreturnした値が渡される
  • thenは常に新しいpromiseオブジェクトを返す
  • Promise.allは渡した全てのpromiseがFulFilledまたはRejectedになるまで次の処理を待つ
  • Promise.raceはどれか一つでもpromiseがFulFilledまたはRejectedになったら次の処理を実行
  • DeferredはPromiseと違い、共通の仕様があるわけではなく、各ライブラリがそのような目的の実装をそう呼んでいる
  • DeferredとPromiseは比べるような関係ではなく、DeferredがPromiseを内蔵しているような関係になっている

最後の方はかなり流し読みになってしまったのですが「あとは実践あるのみ」ということで、以前作ったcallbackだらけのAPIをPromiseにうまく置き換えていきたいと思います。

[まとめ] 現在開催中のKindleセール情報はこちら