Panggil async dari non-async
Kita punya function “reguler”. Bagaimana memanggil async
dari function tersebut dan menggunakan hasilnya?
async function wait() {
await new Promise((resolve) => setTimeout(resolve, 1000));
return 10;
}
function f() {
// ...apa yang ditulis di sini?
// kita harus memanggil async wait() dan tunggu sampai mendapatkan 10
// ingat, kita tidak bisa menggunakan "await"
}
P.S. Task ini secara teknis sangat mudah, tetapi pertanyaan ini cukup umum bagi developer yang baru mengenal async/await.
Itulah yang terjadi ketika mengetahui cara kerjanya di dalam sangat membantu.
Hanya perlakukan pemanggilan async
sebagai promise dan lampirkan .then
ke dalamnya:
async function wait() {
await new Promise(resolve => setTimeout(resolve, 1000));
return 10;
}
function f() {
// menunjukkan 10 setelah 1 detik
wait().then(result => alert(result));
}
f();