EventEmitter: todos los EventEmitters emiten el evento ‘ newListener ‘ cuando se agregan nuevos oyentes y ‘ removeListener ‘ cuando se eliminan los oyentes existentes. Está definido y expuesto por el módulo de eventos:
Para importar EventEmitter , use la siguiente declaración de importación:
const EventEmitter = require('events');
NodeEventTarget: los objetos EventTarget y Event son una implementación específica de Node.js de la API web de EventTarget expuesta por algunas API principales de Node.js.
Diferencia entre EventEmitter y NodeEventTarget :
Emisor de eventos | Objetivo de evento de Node |
---|---|
Se hereda del módulo de eventos de JavaScript. | Es un subconjunto modificado de la API de EventEmitter y se hereda de ella. |
Implementa la relación es-a con el Módulo de eventos . | Implementa una relación is-a con la API EventTarget . |
En eventEmitter , para un mismo evento, podemos permitir que se registren múltiples oyentes. | Cualquier oyente se puede registrar una vez por tipo de evento y se ignora si se intenta registrar un oyente varias veces. |
Emula al máximo eventos como ‘error’, ‘Classes’, Emits , etc. | No emula las API completas de EventEmitter como prependListener() , prependOnceListener() , rawListeners() , etc. |
Su comportamiento predeterminado es registrar información y finalizar la ejecución actual. | Para eventos de tipo ‘ error ‘, no implementa ningún comportamiento predeterminado. |
Si ocurre un error dentro de una instancia de EventEmitter , entonces la acción típica es que se emita un evento de ‘error’. | Admite objetos y funciones EventListener como controladores para todos los tipos de eventos. |
Todos los EventEmitter emiten el evento ‘ newListener ‘, cuando se agregan nuevos oyentes y ‘removeListener’ cuando se eliminan los oyentes. | No es una instancia de EventEmitter y, en la mayoría de los casos, no se puede usar en lugar de EventEmitter. |
Sintaxis: emitter.once( eventName, listener) |
Sintaxis: nodeEventTarget.once( type, listener[, options]) |
Referencia: https://nodejs.org/api/events.html#events_nodeeventtarget_vs_eventemitter
Publicación traducida automáticamente
Artículo escrito por amitkumarjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA