Node.jsÉmetteurs d'événements


Remarques

Lorsqu'un événement "se déclenche" (ce qui signifie la même chose que "publier un événement" ou "émettre un événement"), chaque écouteur sera appelé de manière synchrone ( source ), avec toutes les données d'accompagnement transmises à emit() , non Peu importe le nombre d’arguments que vous transmettez:

myDog.on('bark', (howLoud, howLong, howIntense) => {
  // handle the event
})
myDog.emit('bark', 'loudly', '5 seconds long', 'fiercely')

Les auditeurs seront appelés dans l'ordre dans lequel ils ont été enregistrés:

myDog.on('urinate', () => console.log('My first thought was "Oh-no"'))
myDog.on('urinate', () => console.log('My second thought was "Not my lawn :)"'))
myDog.emit('urinate')
// The console.logs will happen in the right order because they were registered in that order.

Mais si vous avez besoin d'un écouteur pour lancer en premier, avant que tous les autres écouteurs déjà ajoutés, vous pouvez utiliser prependListener() comme ceci:

myDog.prependListener('urinate', () => console.log('This happens before my first and second thoughts, even though it was registered after them'))

Si vous avez besoin d'écouter un événement, mais vous voulez seulement entendre parler une fois, vous pouvez utiliser once au lieu de on ou prependOnceListener au lieu de prependListener . Après le déclenchement de l'événement et l'appel de l'écouteur, le programme d'écoute sera automatiquement supprimé et ne sera plus appelé lors du prochain déclenchement de l'événement.

Enfin, si vous souhaitez supprimer tous les auditeurs et recommencer, n'hésitez pas à le faire:

myDog.removeAllListeners()

Émetteurs d'événements Exemples Liés