Study
JavaScript

Promise & Async/Await di JavaScript

Penjelasan

Promise adalah object yang mewakili hasil operasi asinkron (operasi yang butuh waktu, mis. mengambil data dari server) yang belum tentu selesai saat ini juga. Promise punya tiga status: pending (masih berjalan), fulfilled (berhasil), atau rejected (gagal). async/await adalah sintaks lebih ringkas untuk bekerja dengan Promise — membuat kode asinkron terlihat seperti kode biasa yang berjalan berurutan.

Contoh Konsep

function ambilData() {
    return new Promise((resolve) => {
        setTimeout(() => resolve("Data berhasil diambil"), 1000);
    });
}

// Cara 1: .then()
ambilData().then((hasil) => console.log(hasil));

// Cara 2: async/await (lebih ringkas & mudah dibaca)
async function tampilkanData() {
    const hasil = await ambilData();
    console.log(hasil);
}

tampilkanData();

Praktikum

Buat function ambilAngka() yang mengembalikan Promise berisi angka 42 lewat resolve, dijalankan setelah setTimeout 500ms. Buat async function tampilkanAngka() yang memakai await untuk mengambil hasilnya, lalu console.log hasilnya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

await hanya bisa dipakai di dalam function yang ditandai async — dan sebaiknya selalu dibungkus try/catch untuk menangkap error kalau Promise-nya reject (gagal), sama seperti error handling biasa.