Javascript Async Error Handling Patterns Abortcontroller Retry Timeout
Definisi
Pola menangani kegagalan async dengan bersih: AbortController untuk membatalkan fetch, retry dengan backoff untuk transient error, dan timeout agar promise tidak menggantung. Tujuannya UX tangguh tanpa promise zombie.
Kapan dipakai
- AbortController: batalkan request saat user navigasi/ubah input.
- Retry: jaringan flaky (5xx, timeout) layak dicoba ulang terbatas.
- Timeout: fetch tanpa batas waktu bisa hang selamanya.
Cara kerja
Abort + timeout fetch
const ctrl = new AbortController();
const t = setTimeout(() => ctrl.abort(), 5000);