$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

JavaScriptのPromiseの概念について学習した時に参考にしたもの

JavaScriptのPromiseを使った実装をコードレビューしていたのだけど、やってみたら自分があんまりPromiseについて理解できていなかったことに気づいた。特にこれまでjQueryajaxjQuery Deferredをなんとなく使っていたのだが、Promiseの根本的な概念がjQueryの巨大な仕様の中に埋もれていて、自分の中でjQueryの機能とPromiseの概念を分離して正しく言語化出来ていなかった。

そこでPromiseの根本的な概念を再学習したので、何を参考に勉強したかを書いておく。


PromiseについてはとにかくJavaScript Promiseの本を読めば大体把握できる。このドキュメントを読めば

  • Promiseの概念
  • ES6 Promiseの利用方法
  • Deferredとの関係性

などといったことを知ることができる。

個人的には次の部分が特に参考になった。

  • thenでもrejectする
    • thenに渡すcallbackで返す値がPromiseの時にどうなるか説明されている
  • DeferredとPromise
    • DeferredとPromiseの関係性が説明されている
    • Deferredの簡易実装が紹介されているので非常に理解しやすい


これを読んだ後、爆速でわかるjQuery.Deferred超入門 - Yahoo! JAPAN Tech Blogを読みなおした。これを読むときは、先ほどのドキュメントで学んだPromiseの根本的な概念とjQueryのDeferredの機能との対応を意識しておくと、理解しやすかった。


大体この二つのドキュメントを読んだらPromiseについて再学習することが出来た。さらに学びたければ自分でPromiseの簡易実装をしてみると良いかもしれない。