Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

JavaScript Lanjutan

Pelajaran 22 dari 22

Iterator, generator, dan kode asinkron

Misi: dasbor omzet cabang

Setelah pelajaran ini kamu bisa menggabungkan async, await, Promise.allSettled, Promise.race, generator, dan urutan event loop untuk menyusun dasbor yang tahan gangguan.

±21 menitDiperiksa 28 Sep 2026

Materi

Dasbor Toko Nusantara menampilkan omzet setiap cabang. Data setiap cabang diambil dari server terpisah, dan server cabang kadang tidak menjawab. Kepala keuangan meminta laporan yang tetap tampil walaupun sebagian cabang gagal, batas waktu untuk server yang lambat, pengambilan daftar pelanggan per halaman, label bulan untuk sumbu grafik, dan pemeriksaan urutan keluaran kode asinkron. Semua fungsi pengambil data di latihan ini tiruan: Promise yang langsung selesai, atau selesai setelah beberapa langkah microtask, sehingga hasilnya sama setiap kali dijalankan.

ambilOmzet("BDG");  // Promise berisi 12500000
ambilOmzet("SBY");  // Promise ditolak: Error "Cabang SBY tidak menjawab"
ambilHalaman(1);    // Promise berisi ["Rina", "Joko"]

Latihan

0/5 lulus

Misi akhir modul: luluskan minimal 4 dari 5 tugas. Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 5 dari 5

async function muat() { console.log("B"); await null; console.log("D"); } console.log("A"); muat(); console.log("C"); Bagaimana urutan keluarannya?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan minimal 4 dari 5 latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke