Latihan 1: Debounce & Throttle — Performance

Latihan 1 dari materi Debounce & Throttle di Performance — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi function debounce(fn, delay) supaya mengembalikan function baru (pembungkus) yang menunda fn sampai panggilannya berhenti selama delay ms.

  1. Di dalam debounce, buat variabel let timer = null;.
  2. Return sebuah function yang menerima ...args.
  3. Di dalam function itu, panggil clearTimeout(timer) dulu untuk membatalkan jadwal sebelumnya.
  4. Lalu pasang jadwal baru: timer = setTimeout(() => fn.apply(this, args), delay);.

Kode tes di bawahnya (count, inc, dan console.log(count)) biarkan saja. Setelah 150 ms dia mencetak 1 supaya kamu bisa cek sendiri. Baris itu gak dinilai.

Yang dinilai:

Hint