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 setImmediate()

Obsolète

Évitez d'utiliser cette fonctionnalité dans de nouveaux projets. Cette fonctionnalité peut être candidate à la suppression des standards web ou des navigateurs.

Non standard: Cette fonctionnalité n'est pas standardisée. Nous déconseillons d'utiliser des fonctionnalités non standard en production, car leur prise en charge par les navigateurs est limitée, et elles peuvent être modifiées ou supprimées. Toutefois, elles peuvent constituer une alternative appropriée dans certains cas où aucune option standard n'existe.

La méthode setImmediate() de l'interface Window est utilisée pour fragmenter les opérations de longue durée et exécuter une fonction de rappel immédiatement après que le navigateur a terminé d'autres opérations telles que les évènements et les mises à jour de l'affichage.

Syntaxe

js
setImmediate(func)
setImmediate(func, param1)
setImmediate(func, param1, param2)
setImmediate(func, param1, param2, /* …, */ paramN)

Paramètres

func

La fonction que vous souhaitez appeler.

param1, …, paramN

Tous les paramètres sont passés directement à votre fonction.

Valeur de retour

L'ID de l'action immédiate qui peut être utilisé plus tard avec window.clearImmediate.

Notes

La méthode clearImmediate() peut être utilisée pour annuler les actions immédiates, tout comme clearTimeout() pour setTimeout().

Cette méthode peut être utilisée à la place de la méthode setTimeout(fn, 0) pour exécuter des opérations lourdes (angl.).

Cette fonctionnalité peut être simulée de plusieurs manières :

  • postMessage() peut être utilisé pour déclencher un rappel immédiat mais cédant.
  • MessageChannel peut être utilisé de manière fiable à l'intérieur des Web Workers tandis que la sémantique de postMessage signifie qu'il ne peut pas être utilisé là-bas.
  • setTimeout(fn, 0) peut potentiellement être utilisé, cependant comme il est limité à 4ms pour les minuteries imbriquées à plus de 5 niveaux selon la spécification HTML (angl.), il ne constitue pas une prothèse d'émulation appropriée pour l'immédiateté naturelle de setImmediate.

Toutes ces techniques sont incorporées dans une prothèse d'émulation robuste de setImmediate (angl.).

Spécifications

Ne fait partie d'aucune spécification actuelle. La spécification d'Efficacité des Rendements des Scripts (angl.) n'est plus en cours de développement.

Compatibilité des navigateurs

Voir aussi