Comprendre setImmediate ()

La fonction setImmediate Node.js interagit avec la boucle d'événements d'une manière spéciale

Lorsque vous souhaitez exécuter un morceau de code de manière asynchrone, mais dès que possible, une option consiste à utiliser lesetImmediate()fonction fournie par Node.js:

setImmediate(() => {
  //run something
})

Toute fonction passée en tant qu'argument setImmediate () est un rappel qui est exécuté dans l'itération suivante de la boucle d'événements.

Comment estsetImmediate()différent desetTimeout(() => {}, 0)(dépassement d'un délai d'attente de 0 ms), et deprocess.nextTick()?

Une fonction passée àprocess.nextTick()va être exécuté sur l'itération actuelle de la boucle d'événements, après la fin de l'opération en cours. Cela signifie qu'il s'exécutera toujours avantsetTimeoutetsetImmediate.

UNEsetTimeout()le rappel avec un délai de 0 ms est très similaire àsetImmediate(). L'ordre d'exécution dépendra de divers facteurs, mais ils seront tous deux exécutés lors de la prochaine itération de la boucle d'événements.

Téléchargez mon gratuitManuel de Node.js


Plus de didacticiels sur les nœuds: