Async/Await

Dengan promises, seseorang dapat menggunakan kata kunci async untuk mendeklarasikan fungsi asinkron yang mengembalikan promise, sedangkan sintaks await membuat JavaScript menunggu sampai promise tersebut selesai dan mengembalikan nilainya. Kata kunci-kata kunci ini membuat promises lebih mudah untuk ditulis. Contoh async ditunjukkan di bawah ini.

// fungsi async f
async function f() {
  return 1;
}
// promise yang di-resolve
f().then(alert); // 1

Contoh di atas dapat ditulis seperti berikut:

function f() {
  return Promise.resolve(1);
}

f().then(alert); // 1

async memastikan bahwa fungsi mengembalikan promise, dan membungkus non-promises di dalamnya. Dengan await, kita dapat membuat JavaScript menunggu sampai promise tersebut selesai dengan nilai yang dikembalikan.

async function f() {
  let promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve("Selamat datang di Belajar JavaScript!"), 1000);
  });

  let result = await promise; // tunggu sampai promise tersebut diselesaikan (*)
  alert(result); // "Selamat datang di Belajar JavaScript!"
}

f();

Kata kunci await hanya dapat digunakan di dalam fungsi async.

results matching ""

    No results matching ""