「マンガでわかるJavaScriptのPromise」の感想・備忘録

スポンサーリンク

点数

76

感想

JavaScriptのPromiseについてとてもわかりやすく説明されていた。

漫画でプログラミングを解説することは難しいと思うが、それを実現している著者は素晴らしいと思う。

Promoseオブジェクトのthenメソッド

Promiseオブジェクトをreturnする場合

処理が終わるのを待って次のthen()またはcatch()に進む。

new Promise(resolve => resolve())
. then(()=>new Promise(resolve => setTimeout(resolve, 1000)))
. then(()=>console.log('hoge1'))

Promiseオブジェクトをreturnしない場合

すぐに次のthen()またはcatch()に進む。

new Promise((resolve) => resolve())
. then(()=>console.log('hoge1'))
. then(()=>console.log('hoge2'))

Promiseのクラスメソッド

Promise.all()

Promise.all()は引数でPromiseオブジェクト配列を受け取り、全てのPromiseが解決(fulfilled)するまで待つ。

Promise.all([
  new Promise(resolve => {console.log(1); resolve()}),
  new Promise(resolve => {console.log(2); resolve()}),
])
.then(console.log('all finished!'))

クラスメソッドの違い・比較

  • Promise.all()は最初に結果がrejectedになったPromiseがあった場合、そこで終了する。
  • Promise.allSettled()は全てのPromiseが完了(fulfilledまたはrejected)するまで待つ。
  • Promise.any()は最初に結果がfulfilledになったPromiseがあった場合、そこで終了する。
  • Promise.rase()は最初に結果がfulfilledまたはrejectedになったPromiseがあった場合、そこで終了する。

コメント