非同期処理:
プログラムの実行中に他のタスクを待たずに進行する処理方法で、非同期のタスクを指定し、後でその結果を取得します。
同期処理:
タスクが順番に実行され、前のタスクが完了するまで次のタスクが開始されない処理方法。
非同期処理はメインスレッドで実行される:
基本的には非同期処理も同期処理と同じようにメインスレッドで実行されます。
[ES2015] Promise:
JavaScriptで非同期処理をより効率的に扱うためのオブジェクト。
Promiseインスタンスの作成:
new Promise() を使用してPromiseインスタンスを生成します。
Promise.prototype.thenとPromise.prototype.catch:
Promiseの状態が変化したときに実行されるコールバック関数を設定するためのメソッド。
Promiseと例外:
Promise内で発生した例外は自動的に捕捉され、catch メソッドで処理できます。
Promiseの状態:
Promiseインスタンスの状態は作成時にPendingとなり、一度でもFulfilledまたはRejectedへ変化すると、それ以降状態は変化しなくなります。 そのため、FulfilledまたはRejectedの状態であることをSettled(不変)と呼びます。
Promise.resolve:
解決済みのPromiseを返す静的メソッド。
Promise.reject:
拒否されたPromiseを返す静的メソッド。
Promiseチェーン:
複数の非同期処理を順番に連鎖させる方法。
Promiseチェーンで逐次処理:
Promiseチェーン内で前の処理が完了するのを待ってから次の処理を実行する方法。
Promise.allで複数のPromiseをまとめる:
複数のPromiseを同時に実行し、全ての結果を待つためのメソッド。
Promise.race:
複数のPromiseの中で最も早く解決または拒否されたものを返すメソッド。
[ES2017] Async Function:
非同期処理をより簡潔に記述できる構文。
Async Functionの定義:
async キーワードを使って関数を非同期関数に定義します。
Async FunctionはPromiseを返す:
非同期関数は自動的にPromiseインスタンスを返す。
await式:
非同期関数内で非同期処理が完了するのを待つための式。
Promiseチェーンをawait式で表現する:
非同期関数内でPromiseチェーンをシンプルに表現する方法。
Async Functionと組み合わせ:
非同期関数を他の非同期処理と組み合わせて使用する。
Async Functionと反復処理:
非同期関数をループ内で使用して非同期な反復処理を実現する。
Promise APIとAsync Functionを組み合わせる:
PromiseベースのコードとAsync Functionを組み合わせて非同期処理を管理する。
await式はAsync Functionの直下でのみ利用可能:
await式は非同期関数内でしか使用できません。
[ES2022] Module直下でのawait式:
モジュールのトップレベルでawaitを使用できるようになった機能。