requestIdleCallback

JavaScript 🔴 Senior

Définition

API qui planifie un callback pendant les périodes d'inactivité du navigateur. Reçoit un IdleDeadline indiquant le temps restant. Idéal pour les taches non-urgentes.

Analogie

Faire le ménage pendant les pubs a la télé : tu profites des pauses naturelles sans interrompre le programme.

Exemple de code

requestIdleCallback((deadline) => {
  while (deadline.timeRemaining() > 0 && tasks.length) {
    processTask(tasks.pop());
  }
  if (tasks.length) requestIdleCallback(cb);
}, { timeout: 2000 });

Cas d'usage

Analytics, prefetching, taches de fond non-critiques, warm-up de cache.

#core#performance

← → au clavier pour passer d'une fiche à l'autre