本「JavaScriptコードレシピ集」にasync/awaitの使い方について良いサンプルコードが掲載されていたので復習しました。(p.478 Lec 226)
promiseで直列処理をするということで、.thenを使うより非同期処理が簡単にできるというものです。以下、サンプルコードを引用します。(日本語の部分は英語に少し変更しました。)
async/awaitのサンプルコード(一部変更済)「Javascriptコードレシピ集」より
start();
async function start() {
await new Promise ((resolve) => {
setTimeout(() => {
console.log('1st promise', new Date().toLocaleTimeString());
resolve();
}, 1000);
});
await new Promise ((resolve) => {
setTimeout(() => {
console.log('2nd promise', new Date().toLocaleTimeString());
resolve();
}, 1000);
});
}
Developer toolのコンソールで確認すると、1秒遅れで2つ目のpromiseが処理されます。
コンソールでの結果
1st promise 16:41:32
2nd promise 16:41:33
実際にコンソールで確認すると理解しやすかったです。