F4 · Modul 09
Asinkron
55 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- JavaScript menjalankan kodemu di satu utas, setiap potongan sampai selesai. Menunggu I/O tidak memblokir karena peramban atau Node yang mengerjakannya, lalu menaruh callback di antrean.
- Event loop: jalankan satu tugas, kosongkan semua mikrotugas, (peramban) mungkin menggambar, ulangi. Reaksi Promise dan lanjutan
awaitadalah mikrotugas; timer, klik, dan I/O adalah tugas. - Promise tuntas paling banyak sekali;
async/awaitmenulis kode yang menunggu dengantry/catchbiasa. fetchhanya ditolak bila tidak ada respons, jadi periksares.ok. Batas waktu dan pembatalan memakaiAbortSignal;Promise.racehanya berhenti menunggu.- Pilih kombinator sesuai pertanyaan (
all,allSettled,race,any).muatLaporanmembedakan lima kegagalan dan meneruskan galat asli sebagaicause.
Sebelum mulai
±4 jam.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: menjelaskan kenapa JavaScript yang hanya punya satu utas tetap bisa menunggu jaringan tanpa membekukan halaman; menelusuri event loop sampai tingkat tumpukan panggilan, antrean tugas, dan antrean mikrotugas, lalu memprediksi urutan keluaran; membuat dan merangkai Promise, menulis async/await dengan penanganan galat yang benar; memanggil fetch dan membedakan galat jaringan dari status HTTP yang gagal; memasang batas waktu dan pembatalan dengan AbortController, AbortSignal.timeout, dan AbortSignal.any; memilih Promise.all, allSettled, race, atau any sesuai kebutuhan; menulis muatLaporan yang memetakan setiap kegagalan ke GalatLaporan yang tepat.
Proyek: Laporan Warung langkah 09: muatLaporan(url, opsi?) dengan batas waktu dan pembatalan, diuji terhadap server lokal node:http di 127.0.0.1 (kontrak proyek §3).
Istilah di modul ini (47)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 9 berkas latihan + tes
- 1 berkas data
Lihat isi zip
- BACA-DULU.txt
- latihan_f4_09_1.ts
- latihan_f4_09_2.ts
- latihan_f4_09_3.ts
- latihan_f4_09_5.ts
- latihan_f4_09_6.ts
- latihan_f4_09_4.ts
- latihan_f4_09_7.ts
- latihan_f4_09_8.ts
- latihan_f4_09_9.ts
- laporan.json