Tips
開発Tips(2025-11-03)
非同期処理を効率的に扱い、可読性の高いコードを書くためのテクニックです。`async/await`構文を活用することで、Promiseチェーンを簡潔に記述し、同期処理のように扱えます。
JavaScript
非同期処理を効率的に扱い、可読性の高いコードを書くためのテクニックです。async/await構文を活用することで、Promiseチェーンを簡潔に記述し、同期処理のように扱えます。
エラーハンドリングを強化するasync/await構文の活用
async/await構文は、Promiseベースの非同期処理を扱う際に非常に強力なツールです。try...catchブロックと組み合わせることで、非同期処理中のエラーを同期処理のようにキャッチし、より堅牢なコードを書くことができます。
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
return data;
} catch (error) {
console.error('データの取得に失敗しました:', error);
// エラーハンドリング処理 (例: ユーザーへのエラーメッセージ表示)
return null; // またはエラーに応じた適切な値を返す
}
}
async function processData() {
const data = await fetchData();
if (data) {
console.log('取得したデータ:', data);
// データの処理を行う
} else {
console.log('データが取得できなかったため、処理を中止します。');
}
}
processData();
注意点:
awaitはasync関数の中でしか使用できません。- エラーハンドリングは、必要に応じて複数の
try...catchブロックで分割できます。例えば、fetchData関数自体にエラーハンドリングを実装し、さらにprocessData関数でも全体のエラーハンドリングを行うことができます。
おすすめポイント:
- コードの可読性と保守性が向上します。Promiseチェーンのネストが深くなるのを防ぎ、処理の流れを追いやすくなります。
- エラーハンドリングが容易になります。
try...catchブロックを使用することで、非同期処理中のエラーをまとめて処理できます。 - デバッグが容易になります。エラーが発生した箇所を特定しやすくなります。