Le module d'événements de Node.js fournit la classe EventEmitter
Leevents
module nous fournit la classe EventEmitter, qui est essentielle pour travailler avec les événements dans Node.
J'ai publié un article complet à ce sujet, donc ici je vais simplement décrire l'API sans autres exemples sur la façon de l'utiliser.
const EventEmitter = require('events')
const door = new EventEmitter()
L'auditeur de l'événement mange sa propre nourriture pour chien et utilise ces événements:
newListener
quand un auditeur est ajoutéremoveListener
quand un auditeur est supprimé
Voici une description détaillée des méthodes les plus utiles:
emitter.addListener()
emitter.emit()
emitter.eventNames()
emitter.getMaxListeners()
emitter.listenerCount()
emitter.listeners()
emitter.off()
emitter.on()
emitter.once()
emitter.prependListener()
emitter.prependOnceListener()
emitter.removeAllListeners()
emitter.removeListener()
emitter.setMaxListeners()
emitter.addListener()
Alias pouremitter.on()
.
emitter.emit()
Émet un événement. Il appelle de manière synchrone tous les écouteurs d'événements dans l'ordre dans lequel ils ont été enregistrés.
emitter.eventNames()
Renvoie un tableau de chaînes qui représentent les événements enregistrés sur le EventListener actuel:
door.eventNames()
emitter.getMaxListeners()
Obtenez le nombre maximum d'écouteurs que l'on peut ajouter à un objet EventListener, qui vaut par défaut 10 mais peut être augmenté ou réduit en utilisantsetMaxListeners()
door.getMaxListeners()
emitter.listenerCount()
Obtenez le nombre d'écouteurs de l'événement passé en paramètre:
door.listenerCount('open')
emitter.listeners()
Obtient un tableau d'écouteurs de l'événement passé en paramètre:
door.listeners('open')
emitter.off()
Alias pouremitter.removeListener()
added in Node 10
emitter.on()
Ajoute une fonction de rappel appelée lorsqu'un événement est émis.
Usage:
door.on('open', () => {
console.log('Door was opened')
})
emitter.once()
Ajoute une fonction de rappel qui est appelée lorsqu'un événement est émis pour la première fois après son enregistrement. Ce rappel ne sera appelé qu'une seule fois, plus jamais.
const EventEmitter = require('events')
const ee = new EventEmitter()
ee.once(‘my-event’, () => {
//call callback function once
})
emitter.prependListener()
Lorsque vous ajoutez un auditeur à l'aide deon
ouaddListener
, il est ajouté en dernier dans la file d'attente des écouteurs et appelé en dernier. UtilisantprependListener
il est ajouté et appelé avant les autres auditeurs.
emitter.prependOnceListener()
Lorsque vous ajoutez un auditeur à l'aide deonce
, il est ajouté en dernier dans la file d'attente des écouteurs et appelé en dernier. UtilisantprependOnceListener
il est ajouté et appelé avant les autres auditeurs.
emitter.removeAllListeners()
Supprime tous les écouteurs d'un objet émetteur d'événement écoutant un événement spécifique:
door.removeAllListeners('open')
emitter.removeListener()
Supprimez un auditeur spécifique. Vous pouvez le faire en enregistrant la fonction de rappel dans une variable, une fois ajoutée, afin de pouvoir la référencer plus tard:
const doSomething = () => {}
door.on('open', doSomething)
door.removeListener('open', doSomething)
emitter.setMaxListeners()
Définit le nombre maximum d'écouteurs que l'on peut ajouter à un objet EventListener, qui vaut par défaut 10 mais peut être augmenté ou réduit.
door.setMaxListeners(50)
Téléchargez mon gratuitManuel de Node.js
Plus de didacticiels sur les nœuds:
- Une introduction au gestionnaire de paquets npm
- Introduction à Node.js
- Requêtes HTTP utilisant Axios
- Où héberger une application Node.js
- Interagissez avec l'API Google Analytics à l'aide de Node.js
- Le lanceur de package npx Node
- Le guide package.json
- Où npm installe-t-il les packages?
- Comment mettre à jour Node.js
- Comment utiliser ou exécuter un package installé à l'aide de npm
- Le fichier package-lock.json
- Gestion des versions sémantiques à l'aide de npm
- Devez-vous valider le dossier node_modules dans Git?
- Mettez à jour toutes les dépendances de nœud vers leur dernière version
- Analyser JSON avec Node.js
- Rechercher la version installée d'un package npm
- Flux Node.js
- Installer une ancienne version d'un package npm
- Obtenir le dossier actuel dans Node
- Comment enregistrer un objet dans Node
- Exposer la fonctionnalité d'un fichier Node à l'aide d'export
- Différences entre Node et le navigateur
- Faire une requête HTTP POST à l'aide de Node
- Obtenir les données du corps de la requête HTTP à l'aide de Node
- Tampons de nœud
- Une brève histoire de Node.js
- Comment installer Node.js
- Quelle quantité de JavaScript devez-vous connaître pour utiliser Node?
- Comment utiliser le REPL Node.js
- Nœud, accepter les arguments de la ligne de commande
- Sortie vers la ligne de commande à l'aide de Node
- Accepter l'entrée de la ligne de commande dans Node
- Désinstaller les packages npm avec `npm uninstall`
- packages mondiaux ou locaux npm
- dépendances npm et devDependencies
- La boucle d'événements Node.js
- Comprendre process.nextTick ()
- Comprendre setImmediate ()
- L'émetteur d'événement de nœud
- Construire un serveur HTTP
- Faire des requêtes HTTP avec Node
- Le module Node fs
- Requêtes HTTP dans Node utilisant Axios
- Lire des fichiers avec Node
- Chemins de fichiers de noeud
- Écriture de fichiers avec Node
- Statistiques du fichier de nœud
- Utilisation des descripteurs de fichiers dans Node
- Travailler avec des dossiers dans Node
- Le module de chemin de nœud
- Le module Node http
- Utilisation de WebSockets avec Node.js
- Les bases de l'utilisation de MySQL et de Node
- Gestion des erreurs dans Node.js
- Le guide du carlin
- Comment lire les variables d'environnement à partir de Node.js
- Comment quitter un programme Node.js
- Le module Node OS
- Le module d'événements Node
- Node, la différence entre développement et production
- Comment vérifier si un fichier existe dans Node.js
- Comment créer un fichier vide dans Node.js
- Comment supprimer un fichier avec Node.js
- Comment obtenir la dernière date de mise à jour d'un fichier à l'aide de Node.js
- Comment déterminer si une date est aujourd'hui en JavaScript
- Comment écrire un objet JSON dans un fichier dans Node.js
- Pourquoi devriez-vous utiliser Node.js dans votre prochain projet?
- Exécutez un serveur Web à partir de n'importe quel dossier
- Comment utiliser MongoDB avec Node.js
- Utilisez Chrome DevTools pour déboguer une application Node.js
- Qu'est-ce que pnpm?
- Liste des options de Node.js Runtime v8
- Comment corriger l'erreur "Accès en écriture manquant" lors de l'utilisation de npm
- Comment activer les modules ES dans Node.js
- Comment générer un processus enfant avec Node.js
- Comment obtenir à la fois du corps analysé et du corps brut dans Express
- Comment gérer les téléchargements de fichiers dans Node.js
- Que sont les dépendances homologues dans un module Node?
- Comment écrire un fichier CSV avec Node.js
- Comment lire un fichier CSV avec Node.js
- Les modules Node Core
- Incrémenter plusieurs numéros de dossiers à la fois à l'aide de Node.js
- Comment imprimer un canevas sur une URL de données
- Comment créer et enregistrer une image avec Node.js et Canvas
- Comment télécharger une image à l'aide de Node.js
- Comment renommer en masse des fichiers dans Node.js
- Comment obtenir les noms de tous les fichiers d'un dossier dans Node
- Comment utiliser les promesses et attendre avec les fonctions basées sur le rappel de Node.js
- Comment tester un package npm localement
- Comment vérifier la version actuelle de Node.js au moment de l'exécution
- Comment utiliser Sequelize pour interagir avec PostgreSQL
- Servir une page HTML à l'aide de Node.js
- Comment résoudre l'erreur `util.pump n'est pas une fonction` dans Node.js