「javascript」asyncとawaitで処理を制御するサンプル
環境
Windows 10 home 64bit
Google Chrome 105.0.5195.12
構文
await 関数名()
function 関数名() {
return new Promise((resolve)=>{
setTimeout(処理コード)
}
}
await 式は返されたプロミスが履行されるか拒否されるまで実行を中断することで、
プロミスを返す関数をあたかも同期しているかのように動作させます。
async と await を使用すると、非同期コードに通常の try / catch ブロックを使用することができます。
使用例
async function funA() {
console.log("111");
//awaitでfunB関数を呼び出す
await funB();
console.log("222");
return "success message";
}
function funB() {
//Promiseオブジェクトの結果を受ける
return new Promise((resolve) => {
//settimeoutで2秒待つ設定
setTimeout(() => {
console.log("funB");
resolve();
}, 2000);
});
}
funA()
.then((strA) => {
console.log(strA);
})
.catch((strA) => {
console.log(strA);
});
実行結果
> “111"
> “funB"
> “222"
> “success message"