Asynchronous: setTimeout & Promise

Menangani pekerjaan yang butuh waktu tanpa membuat halaman membeku.

Part 15 dari 16 ± 30 menit Gratis

Tidak semua hal selesai seketika

Mengambil data dari internet, memutar timer, atau membaca file butuh waktu. JavaScript tidak mau menunggu sambil membeku, jadi ia menjalankan pekerjaan lain dulu dan kembali ketika hasilnya siap. Inilah asynchronous.

setTimeout

console.log("Mulai");
setTimeout(() => console.log("2 detik kemudian"), 2000);
console.log("Selesai");
// Urutan: Mulai, Selesai, 2 detik kemudian

Promise

Promise adalah "janji" bahwa sebuah hasil akan datang. Ada tiga keadaan: pending, fulfilled (berhasil), dan rejected (gagal).

function tungguSebentar(ms) {
  return new Promise((resolve) => {
    setTimeout(() => resolve("Sudah siap!"), ms);
  });
}

tungguSebentar(1000).then(hasil => console.log(hasil));

async / await

Cara menulis kode async agar terbaca seperti kode biasa:

async function jalankan() {
  const hasil = await tungguSebentar(1000);
  console.log(hasil);
}
jalankan();

fetch (mengambil data)

const res = await fetch("https://api.example.com/data");
const data = await res.json();

Untuk menangani kegagalan gunakan try { ... } catch (err) { ... }.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X