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