Node.js 事件发射器
Si vous avez travaillé avec JavaScript dans le navigateur, vous savez qu'une grande partie de l'interaction de l'utilisateur est gérée par des événements : clics de souris, pressions sur les boutons du clavier, réaction aux mouvements de la souris, etc.
Du côté du backend, Node.js nous offre la possibilité de construire un système similaire en utilisant le module events
.
Ce module, en particulier, offre la classe EventEmitter
, que nous utiliserons pour gérer nos événements.
Vous l'initialisez en utilisant
JS
Cet objet expose, parmi beaucoup d'autres, les méthodes on
et emit
.
emit
est utilisé pour déclencher un événement.on
est utilisé pour ajouter une fonction de rappel qui sera exécutée lorsque l'événement sera déclenché.
Par exemple, créons un événement start
et, à titre d'exemple, nous réagissons à cet événement par un simple enregistrement dans la console :
JS
Quand nous exécutons
JS
la fonction du gestionnaire d'événement est déclenchée, et nous obtenons le journal de la console.
Vous pouvez passer des arguments au gestionnaire d'événement en les passant comme arguments supplémentaires à emit()
:
JS
Arguments multiples :
JS
L'objet EventEmitter expose également plusieurs autres méthodes permettant d'interagir avec les événements, telles que
once()
: ajoute un écouteur ponctuelremoveListener()
/off()
: supprime l'écouteur d'un événement.removeAllListeners()
: supprime tous les écouteurs d'un événement.
Vous pouvez en savoir plus sur ces méthodes dans la documentation officielle.