Bài viết này được mình dịch từ một bài viết tương tự của mình (Link tham khảo).
Để giúp các bạn có thể nâng cao trình độ tiếng Nhật, Blog này mình sẽ viết bằng tiếng Nhật.
Mục tiêu sẽ là, sử dụng Technical Document để học Tiếng Nhật. Mình sẽ cố gắng sử dụng ngữ pháp và từ vựng đơn giản nhất (tầm N4-N3) để giúp các bạn đọc nó dễ dàng hơn.
こんにちは、私は東京からのフルスタックWebデベロッパーであるTUANです。
今後の便利で面白い記事を見逃さないように、私のブログをフォローしてください。
JavaScript
でコールバック関数をAsync/Await
に変換するには、次のようにします。
ステップ1:関数をasync
として宣言する
await
キーワードを関数内で使用するには、その関数をasync
として宣言する必要があります。これは、関数定義の前にasync
キーワードを追加するだけです。例:
async function doSomething() {
// 関数本体
}
ステップ2:await
キーワードを使用してプロミスを待つ
コールバック関数の代わりに、await
キーワードを使用してプロミスが完了するのを待つことができます。プロミスは、非同期操作の最終的な成功または失敗を表すオブジェクトです。
これは、プロミスを使用してawait
を使用する方法の例です:
async function doSomething() { const result = await new Promise((resolve) => { // 非同期操作 resolve(/* 非同期操作の結果 */); }); // 非同期操作の結果をここで使用する
}
例:コールバック関数をAsync/Await
に変換するこれは、コールバック関数をAsync/Await
に変換する方法の例です:
// オリジナルのコールバック関数
function doSomething(num, callback) { setTimeout(function () { callback(num * 2); }, 1000);
} // 変換されたAsync/Await関数
async function doSomething(num) { return new Promise((resolve) => { setTimeout(function () { resolve(num * 2); }, 1000); });
} // 変換されたAsync/Await関数の使用
async function callDoSomething() { const result = await doSomething(5); console.log(result); // 10
}
変換されたAsync/Await
関数は、オリジナルのコールバック関数よりもわかりやすく書けます。コールバックを使用する入れ子構文を使用する必要がなく、プロミスが完了するまで関数を一時停止するawait
キーワードを使用できます。
結論
コールバック関数をAsync/Await
に変換することで、コードをより簡単に書けるようになり、理解しやすくなります。async
キーワードとawait
キーワードを使用することで、通常のコードのように見える非同期コードを書けるようになり、デバッグが簡単になるでしょう。
いつものように、この記事を楽しんで新しいことを学んでいただけたと思います。
ありがとうございました。次の記事でお会いしましょう!
この記事が気に入ったら、いいねをして購読してサポートしてください。ありがとうございます。