← JavaScript41 / 69
Promise: janji hasil di masa depan
Promise adalah object yang mewakili hasil yang belum ada. Ia punya tiga keadaan: pending, fulfilled (berhasil), rejected (gagal). .then() menangani keberhasilan, .catch() menangani kegagalan. Hampir semua API modern mengembalikan Promise.
👀 Contoh dulu
const janji = new Promise((resolve, reject) => {
const berhasil = true;
setTimeout(() => {
if (berhasil) resolve('Data diterima');
else reject(new Error('Koneksi gagal'));
}, 400);
});
janji
.then((hasil) => console.log('OK: ' + hasil))
.catch((err) => console.log('Gagal: ' + err.message));Hasilnya: OK: Data diterima
💡 resolve = berhasil (masuk .then), reject = gagal (masuk .catch). Satu Promise hanya selesai sekali.
📝 Sekarang giliranmu
Buat Promise yang resolve('Sukses') setelah 500 ms, lalu tangani dengan .then() untuk menampilkan hasilnya.
Preview