イベントループとプロミスチェーンで学ぶJavaScriptの非同期処理
無料で読める本
JavaScript の非同期処理は非常に難しく、その難しさの原因は「制御の流れ」が掴みづらいことにあります。 この本では非同期処理を理解するために必要な概念であり、仕組みでもあるイベントループでプロミスチェーンの処理がどのように行われるかをクイズ形式で学ぶことによって、非同期処理の「制御の流れ」を掴めるように訓練します。 知識面については中枢となるイベントループの機構から、実行環境と API、async/await や Promise.all などの一通りの範囲を学習し、最終的には並列化や順序づけて反復処理を行うための制御方法と TypeScript での型注釈までを網羅します。
Chapters
はじめに
第1部 - API を提供する環境と実行メカニズム
非同期 API と環境
同期 API とブロッキング
イベントループの概要と注意点
タスクキューとマイクロタスクキュー
V8 エンジンについて
コールスタックと実行コンテキスト
それぞれのイベントループ
第2部 - Promise インスタンスと連鎖
Promise の基本概念
Promise コンストラクタと Executor 関数
コールバック関数の同期実行と非同期実行
resolve 関数と reject 関数の使い方
複数の Promise を走らせる
then メソッドは常に新しい Promise を返す
Promise chain で値を繋ぐ
then メソッドのコールバックで Promise インスタンスを返す
Promise chain はネストさせない
コールバックで副作用となる非同期処理
アロー関数で return を省略する
catch メソッドと finally メソッド
古い非同期 API を Promise でラップする
イベントループは内部にネストしたループがある
第3部 - async 関数と await 式の挙動
Promise chain から async 関数へ
V8 エンジンによる async/await の内部変換
Top-level await
第4部 - 制御と型注釈
Promise の静的メソッドと並列化
await 式の配置による制御
反復処理の制御
イテレータとイテラブルとジェネレータ関数
TypeScript の基本知識
Promise の型注釈
第5部 - 仕様およびその他の番外編
Promise.prototype.then の仕様挙動
Promise chain と async/await の仕様比較
async/await Pattern の歴史的発展
総括 - 非同期処理のまとめ
あとがき
参考文献
Community
Author
Topics