ホームページ >ウェブフロントエンド >jsチュートリアル >非同期 JavaScript を理解する
JavaScript はシングルスレッド言語であり、一度に 1 つのことしか実行できません。ただし、Web アプリケーションはサーバーからのデータの取得などのタスクを実行する必要があることが多く、これには時間がかかることがあります。 JavaScript が各タスクの完了を待ってから次に進む必要がある場合、Web アプリが遅くなり、応答しなくなる可能性があります。ここで 非同期 (async) JavaScript が登場します。
非同期 JavaScript を使用すると、コードでタスクを開始し、そのタスクが完了するまで待機している間に他のタスクに進むことができます。タスクが完了すると、コードが戻って結果を処理できます。これにより、アプリの高速性と応答性を維持できます。
同期と非同期:
console.log("Start"); let result = someFunction(); // This might take a while console.log("End");
同期コードでは、「End」メッセージは someFunction() が完了した後にのみ記録されるため、処理が遅くなる可能性があります。
非同期: タスクは独立して開始および終了できるため、コードが待機中にスタックすることはありません。例:
console.log("Start"); setTimeout(() => { console.log("End"); }, 2000);
ここでは、「終了」メッセージが 2 秒後に記録されますが、その間、コードは他の処理を続けることができます。
コールバック:
function fetchData(callback) { setTimeout(() => { let data = "Some data"; callback(data); }, 2000); } fetchData((data) => { console.log(data); // This will log "Some data" after 2 seconds });
約束:
let promise = new Promise((resolve, reject) => { let success = true; if (success) { resolve("Task completed successfully!"); } else { reject("Task failed!"); } }); promise.then((message) => { console.log(message); }).catch((error) => { console.log(error); });
非同期/待機:
async function fetchData() { try { let data = await someAsyncTask(); console.log(data); } catch (error) { console.error("Error:", error); } }
非同期 JavaScript を理解することは、応答性の高い効率的な Web アプリケーションを構築するために不可欠です。これにより、コードが遅い操作の完了を待ってスタックすることなくタスクを実行できるようになります。
以上が非同期 JavaScript を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。