非 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();