Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Window : méthode requestIdleCallback()

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

La méthode requestIdleCallback() de l'interface Window mémorise une fonction qui sera appelée lorsque le navigateur n'aura plus aucune tâche critique à exécuter. Cela permet aux développeur·euse·s de réaliser des travaux en arrière-plan et à faible priorité sur le processus principal, sans impacter les évènements sensibles à la latence tels que l'animation et la réponse aux entrées. Les fonctions sont généralement appelées dans l'ordre premier entré, premier sorti ; cependant, les rappels ayant un timeout défini peuvent être appelés hors ordre si nécessaire pour s'exécuter avant l'expiration du délai.

Vous pouvez appeler requestIdleCallback() à l'intérieur d'une fonction de rappel inoccupée pour planifier un autre rappel qui se produira au plus tôt lors du prochain passage dans la boucle d'évènements.

Note : Il est fortement recommandé de définir une option timeout pour les travaux requis, sinon il est possible que plusieurs secondes s'écoulent avant que le rappel ne soit exécuté.

Syntaxe

js
requestIdleCallback(callback)
requestIdleCallback(callback, options)

Paramètres

callback

Une référence à une fonction qui doit être appelée dans un futur proche, lorsque la boucle d'évènements est inoccupée. La fonction de rappel reçoit un objet IdleDeadline décrivant la quantité de temps disponible et si la fonction de rappel a été exécutée en raison de l'expiration de la période de délai.

options Facultatif

Objet contenant des paramètres de configuration optionnels. Seule une propriété est actuellement définie :

timeout

Si le nombre de millisecondes représenté par ce paramètre s'est écoulé et que la fonction de rappel n'a pas encore été appelée, alors une tâche pour exécuter la fonction de rappel est mise en file d'attente dans la boucle d'événements (même si cela risque de provoquer un impact négatif sur les performances). timeout doit être une valeur positive ou il est ignoré.

Valeur de retour

Un ID qui peut être utilisé pour annuler le rappel en le passant à la méthode window.cancelIdleCallback().

Exemples

Voir notre exemple complet dans l'article de l'API de planification coopérative des tâches en arrière-plan.

Spécifications

Spécification
requestIdleCallback()
# the-requestidlecallback-method

Compatibilité des navigateurs

Voir aussi