Diferencia entre EventEmitter y NodeEventTarget

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *