Promise.all / any / race / allSettled — pilih alat yang tepat
Berlatih menggunakan penggabung Promise: all, any, race, allSettled. Pelajari perilaku saat berhasil/gagal dan kapan masing-masing digunakan
Promise.all / any / race / allSettled — pilih alat yang tepat adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 3 pelajaran total.
Ikhtisar penggabung
Tujuan: Pelajari empat fungsi pembantu dan perilakunya.
- all: tunggu semuanya; gagal cepat
- any: keberhasilan pertama
- race: yang pertama selesai, baik berhasil maupun gagal
- allSettled: hasil untuk semuanya

Dasar-dasar Promise.all
Promise.all terpenuhi dengan larik hasil; satu penolakan saja akan menolak keseluruhan proses.
// Small helpers for examples
function delay(ms, value, shouldFail = false) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
if (shouldFail) reject(new Error(String(value)));
else resolve(value);
}, ms);
});
}
// Promise.all waits for all; rejects fast on first error
Promise.all([
delay(10, "A"),
delay(5, "B")
]).then(function (vals) {
console.log("all:", vals);
});

Dasar-dasar Promise.any
Promise.any terpenuhi dengan keberhasilan pertama; fungsi ini hanya ditolak jika all input ditolak.
// Promise.any gives the first fulfilled value
Promise.any([
delay(8, "ok-1"),
delay(3, "ok-2"),
delay(6, "ok-3")
]).then(function (v) {
console.log("any:", v);
}).catch(function (e) {
console.log("any failed:", e.message);
});

Dasar-dasar Promise.race
Promise.race memilih proses yang selesai terlebih dahulu: bisa berupa resolve atau reject.
// Promise.race settles with the first to finish (success or error)
Promise.race([
delay(5, "win"),
delay(7, "boom", true)
]).then(function (v) {
console.log("race resolved:", v);
}).catch(function (e) {
console.log("race rejected:", e.message);
});

Dasar-dasar Promise.allSettled
Promise.allSettled selalu terpenuhi dengan larik objek status untuk setiap input.
// Promise.allSettled waits for all and reports each outcome
Promise.allSettled([
delay(4, "A"),
delay(6, "X", true)
]).then(function (results) {
console.log("allSettled:", results.map(function (r) { return r.status; }));
});

Mana yang harus digunakan?
Pemilihan:
- all: memerlukan semua hasil; gagal cepat jika ada kesalahan.
- any: menerima keberhasilan pertama dari sumber cadangan.
- race: memilih yang pertama selesai, seperti pada pola batas waktu.
- allSettled: mengumpulkan setiap hasil untuk diperiksa.

Kuis pemilihan penggabung
Pemeriksaan cepat: Hasil pertama yang terpenuhi.

Ringkasan
Ringkasan: Gunakan all untuk “memerlukan semuanya”, any untuk “keberhasilan pertama”, race untuk “yang pertama selesai”, dan allSettled untuk memeriksa setiap hasil tanpa menghentikan proses lebih awal.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Promise.all / any / race / allSettled — pilih alat yang tepat” gratis?
Ya — teks lengkap “Promise.all / any / race / allSettled — pilih alat yang tepat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Promise.all / any / race / allSettled — pilih alat yang tepat”?
Berlatih menggunakan penggabung Promise: all, any, race, allSettled. Pelajari perilaku saat berhasil/gagal dan kapan masing-masing digunakan Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai JavaScript Academy?
Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.
Berapa lama pelajaran “Promise.all / any / race / allSettled — pilih alat yang tepat” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?
Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar Event Loop serta Task vs Microtask
- Promise — Status, Perantaian, Penanganan Galat
- Promise.all / any / race / allSettled — pilih alat yang tepat