Asynchrone & event loop
Last updated
Last updated
La fonction setTimeout
() nous retourne une valeur permettant d'identifier le code asynchrone que l'on veut exécuter. Il est possible de passer cet identifiant en paramètre à la fonction clearTimeout
, si vous souhaitez annuler l'exécution asynchrone de la fonction avant qu'elle ne soit exécutée.
Il existe d'autres méthodes un peu moins répandues, voire très peu utilisées :
setInterval
() : elle fonctionne exactement comme setTimeout
, à ceci près qu'elle exécute la fonction passée en paramètre en boucle à une fréquence déterminée par le temps en millisecondes passé en second paramètre. Il suffira de passer la valeur de retour de setInterval
à clearInterval
pour stopper l'exécution en boucle de la fonction ;
setImmediate
(). Cette fonction prend en seul paramètre la fonction à exécuter de façon synchrone. La fonction en question sera placée dans la file d'attente de l'event loop, mais va passer devant toutes les autres fonctions, sauf certaines spécifiques au Javascript : les événements (les mêmes qu'on a vus au premier chapitre, et qui sont donc exécutés de façon asynchrone 😉), le rendu, et l'I/O. Il existe aussi nextTick
, qui permet, là, de court-circuiter tout le monde. À utiliser avec précaution, donc...
Trouver un bon exemple
Enchaîner plusieurs Promises :