requestIdleCallback
Un'API web per pianificare lavoro a bassa priorità, che viene eseguito quando il browser è comunque inattivo (negli intervalli tra un frame e l'altro), senza disturbare attività più importanti come rendering e input. Per i lavori che possono aspettare.
L'idea: alcune attività non sono urgenti, come inviare dati di analytics, preelaborare dati, scaldare una cache o inizializzare qualcosa in modo lazy. Se le si esegue subito possono rubare tempo al rendering e rendere la pagina a scatti o lenta a rispondere ai clic.
requestIdleCallback(callback) mette il lavoro in coda e il browser lo esegue nei momenti di quiete tra altre attività, passando alla callback una «deadline» (quanto tempo libero resta) per poter spezzare il lavoro. Usi: lavoro di fondo non critico, telemetria, precaricamento speculativo, elaborazione a lotti. È l'opposto di requestAnimationFrame, che serve per ciò che DEVE avvenire a ogni frame. Limite: il supporto di Safari è stato discontinuo, quindi conviene sempre prevedere un fallback con timeout.