JavaScript の
非同期プログラミング を使用すると、他のプログラムの実行をブロックすることなく、API 呼び出し、ファイルの読み取り、データベースのクエリなどのタスクを実行できます。コード。これは、JavaScript、特に応答性とパフォーマンスが鍵となる Web 開発において非常に重要です。
主要な概念
1.コールバック:
別の関数に引数として渡される関数。非同期操作の完了後に実行されます。
例:
function fetchData(callback) { setTimeout(() => { callback("Data fetched"); }, 1000); } fetchData((data) => { console.log(data); });
2.約束:
非同期操作の最終的な完了または失敗を表すオブジェクト。
Promise は、保留中、履行済み、拒否の 3 つの状態のいずれかになります。
例:
let promise = new Promise((resolve, reject) => { setTimeout(() => { resolve("Data fetched"); }, 1000); }); promise .then((data) => console.log(data)) .catch((error) => console.log(error));
3.非同期で待機:
非同期関数は自動的に Promise を返し、Promise の処理を簡素化するために使用されます。
await は、Promise が解決されるまで非同期関数の実行を一時停止し、コードの読み書きを容易にします。
例:
async function fetchData() { try { let data = await new Promise((resolve, reject) => { setTimeout(() => { resolve("Data fetched"); }, 1000); }); console.log(data); } catch (error) { console.log(error); } } fetchData();
非同期パターン
コールバック地獄: コールバックが他のコールバック内にネストされ、コードの読み取りと保守が困難になる状況。
Promise Chaining: Promise を返し、.then() メソッドと .catch() メソッドを連鎖させることでコールバック地獄を回避するパターン。
Async/Await: 非同期コードを作成するための、より現代的でクリーンなアプローチ。Promise チェーンを回避し、コードをより同期的に見せます。
使用例
API 呼び出し: サーバーからデータを取得します。
タイマー: setTimeout または setInterval を使用します。
ファイル操作: ノンブロッキングな方法でのファイルの読み取りまたは書き込み。
イベント処理: クリック、キー押下などのイベントを処理します。
.
.
.
JavaScript での非同期プログラミングは、特に I/O バウンドの操作を扱う場合、応答性の高い効率的なアプリケーションを構築するために不可欠です。
以上が非同期の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。