Lewati ke konten utama

F4 · Modul 09

Asinkron

55 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. 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 await adalah mikrotugas; timer, klik, dan I/O adalah tugas.
  • Promise tuntas paling banyak sekali; async/await menulis kode yang menunggu dengan try/catch biasa.
  • fetch hanya ditolak bila tidak ada respons, jadi periksa res.ok. Batas waktu dan pembatalan memakai AbortSignal; Promise.race hanya berhenti menunggu.
  • Pilih kombinator sesuai pertanyaan (all, allSettled, race, any). muatLaporan membedakan lima kegagalan dan meneruskan galat asli sebagai cause.

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