← JavaScript45 / 69
Promise.all: request paralel
Kalau kamu await tiga request berurutan, totalnya adalah jumlah semua waktunya. Promise.all menjalankannya bersamaan, sehingga total hanya selama yang paling lambat. Catatan penting: kalau satu gagal, semuanya gagal — pakai Promise.allSettled bila kamu ingin tetap mendapat hasil yang berhasil.
👀 Contoh dulu
const t = (ms, label) =>
new Promise((r) => setTimeout(() => r(label), ms));
async function jalan() {
// ❌ berurutan: total 300 + 300 = 600ms
// const a = await t(300, 'A');
// const b = await t(300, 'B');
// ✅ paralel: total hanya ~300ms
const [a, b] = await Promise.all([t(300, 'A'), t(300, 'B')]);
console.log(a, b);
}
jalan();Hasilnya: A B
💡 Hasilnya array dengan urutan sesuai input (bukan urutan selesai), jadi bisa langsung di-destructuring.
📝 Sekarang giliranmu
Gunakan Promise.all untuk menunggu dua Promise (a dan b) sekaligus, lalu tampilkan hasilnya.
Preview