非 async から async を呼び出す
“通常” の関数があります。そこから async
呼び出しを行い、その結果を使うにはどうすればよいでしょう?
async function wait() { await new Promise(resolve => setTimeout(resolve, 1000)); return 10; } function f() { // ...ここに何を書きますか? // async wait() をして 10 を取得するのを待ちます // 覚えておいてください、"await" は使えません }
P.S. このタスクは技術的には非常に単純です。が、async/await に不慣れた開発者によくある質問です。
async
呼び出しを Promise として扱い、それに .then
をつけるだけです。
async function wait() { await new Promise(resolve => setTimeout(resolve, 1000)); return 10; } function f() { // 1秒後に 10を表示 wait().then(result => alert(result)); } f();