Digital Transformation
Scheduler API (postTask)
TL;DR: Scheduler API lewat
scheduler.postTask()memberi browser kontrol untuk mendahulukan tugas penting (klik, input) sambil menunda tugas background (analytics, prefetch). Hasilnya: skor INP lebih stabil tanpa harus pakaisetTimeouthack ataurequestIdleCallbackyang terbatas.
Apa itu Scheduler API?
Scheduler API (Web Platform, Baseline 2024) memperkenalkan scheduler.postTask(callback, { priority }) dengan tiga level prioritas: user-blocking (kritis, harus selesai sebelum frame berikutnya), user-visible (default, di antara kritis dan idle), dan background (boleh ditunda). Dibanding setTimeout(fn, 0) yang masuk macrotask queue tanpa prioritas, postTask memberi browser sinyal eksplisit mana yang boleh ditunda saat thread utama sibuk.
API ini lahir untuk menjawab masalah utama Long Animation Frames (LoAF): JavaScript pihak ketiga (analytics, chat widget, A/B testing) sering memblok input pengguna karena tidak ada cara menurunkan prioritasnya. Dengan postTask, marketer bisa minta developer membungkus skrip non-kritis ke background priority sehingga klik tombol checkout tetap responsif.
Tiga Level Prioritas
| Priority | Use Case | Contoh |
|---|---|---|
user-blocking | Respons input langsung | Update UI setelah klik tombol |
user-visible | Default, paruh kedua frame | Rendering konten yang segera terlihat |
background | Tunda saat sibuk | Analytics, prefetch, log error |
Kenapa Penting?
Sejak INP jadi Core Web Vitals resmi Maret 2024, banyak situs Indonesia dengan tag manager tebal (GTM, Meta Pixel, TikTok Pixel, FB CAPI) terkena penalti karena tag pihak ketiga menahan interaksi. Scheduler API jadi tool praktis untuk menurunkan beban thread utama tanpa harus pindah ke Partytown yang lebih invasif. Per April 2026, Chrome dan Edge sudah support penuh, Safari 17.4+ dan Firefox 129+ sudah implement.
Pertanyaan Umum
Apakah Scheduler API sama dengan requestIdleCallback?
Tidak persis. requestIdleCallback hanya punya satu level (idle), tidak bisa user-blocking. Scheduler API lebih ekspresif dan terintegrasi dengan Long Animation Frames untuk diagnosa.
Apa yang harus dipindah ke priority background?
Kandidat utama: pengiriman event analytics, hydration komponen below-the-fold, prefetch resource halaman lain, dan logging non-kritis. Klik handler, form submit, dan rendering above-the-fold tetap user-blocking.
Istilah Terkait