「async/await」と「コールバック」の違い

async/awaitは非同期処理を同期的に書く新しい方法で、コールバックはネストした関数で非同期処理を扱う従来の方法です。

async/await

async/awaitはES2017で導入された非同期処理の書き方です。asyncキーワードで関数を宣言し、awaitで非同期処理の完了を待ちます。コードが同期的に見え、可読性が高く、エラーハンドリングがtry-catchで簡潔に書けます。

例:const data = await fetch(url); const result = await data.json(); console.log(res

コールバック

コールバックは非同期処理の完了後に実行する関数を引数として渡す従来の方法です。処理が終わったら指定された関数が呼ばれます。複数の非同期処理をつなぐと「コールバック地獄」になりやすく、可読性が低下しやすいデメリットがあります。

例:fetch(url, function(err, data) { if(!err) { console.log(data); } });

両者の違い

使う場面:async/awaitは現代的なコードで、コールバックは古いライブラリやブラウザ対応が必要な場合。ニュアンス:async/awaitは複数の非同期処理を順序立てて書きやすく、コールバックは単一の非同期処理に向きます。対象:async/awaitはPromiseベースの処理に最適で、コールバックは非同期APIの基本形です。可読性ではasync/awaitが優れています。

どちらを使うべき?判断のポイント

新規プロジェクトや現代的な環境ではasync/awaitを使用しましょう。古いコードとの互換性が必要な場合やコールバック専用のAPIではコールバックを使います。async/awaitはコードの流れが理解しやすく、エラー処理も統一的です。

それぞれの語をさらに詳しく

語彙の星図で「async/await」と「コールバック」のつながりを探索する →