Obxecto obxecto incorporado

Obxecto EventEmitter

EventEmitter é un obxecto desencadeado por eventos, que se pode usar para establecer un patrón de observador, e os obxectos que admiten activados por eventos herdanse deste

Cando se dispara un evento, todos os oíntes asociados con ese evento son chamados de forma asíncrona. Tamén nos permite crear código cun alto grao de personalización e flexibilidade.

As funcións de uso habitual inclúen: addListener/on, once, removeListener/off, removeAllListeners e emit.

Aquí tes un código de mostra:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
var fs = require('fs'); var EventEmitter = require('events'); var event = new EventEmitter(); event.on('read_file', function(filename) { fs.readFile(filename, 'utf8', function(err, data) { if (err) { event.emit('error', err); return; } event.emit('show_content', data); }); }); event.on('error', function(err) { console.log(`Error ${err}`); }); event.on('show_content', function(content) { console.log(content); }); event.emit('read_file', 'test.txt');

event.emit('read_file', 'test.txt')O código de mostra anterior, cando se executa, o evento de instancia do emisor de eventos escoita primeiro o evento "read_file" e despois activa a operación de ler o ficheiro cando se activa o evento ( ). Cando a lectura teña éxito, activarase o evento 'show_content' e executarase a función que escoita o evento 'show_content' e amosarase o contido do ficheiro. Se se produce un erro ao ler o ficheiro, desenvólvese o evento "erro" e xestionarase a operación fallida.

Este modo ten grandes vantaxes en escenarios empresariais que tratan de operacións asíncronas.

relación de herdanza

%0 object object toString() toJSON() EventEmitter EventEmitter new EventEmitter() EventEmitter defaultMaxListeners on() addListener() prependListener() once() prependOnceListener() off() removeListener() removeAllListeners() setMaxListeners() getMaxListeners() listeners() listenerCount() eventNames() emit() object->EventEmitter ChildProcess ChildProcess EventEmitter->ChildProcess DgramSocket DgramSocket EventEmitter->DgramSocket FSWatcher FSWatcher EventEmitter->FSWatcher LruCache LruCache EventEmitter->LruCache Service Service EventEmitter->Service StatsWatcher StatsWatcher EventEmitter->StatsWatcher WebSocket WebSocket EventEmitter->WebSocket WebView WebView EventEmitter->WebView Worker Worker EventEmitter->Worker

Construtor

EventEmitter

Construtor

1
new EventEmitter();

obxecto

obxecto de activación de eventos

1
EventEmitter new EventEmitter;

propiedade estática

defaultMaxListeners

Enteiro, o número máximo global predeterminado de oíntes

1
static Integer EventEmitter.defaultMaxListeners;

función de membro

on

Vincular un controlador de eventos a un obxecto

1 2
Object EventEmitter.on(String ev, Function func);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado
  • func: Función, especifica a función do controlador de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Vincular un controlador de eventos a un obxecto

1
Object EventEmitter.on(Object map);

Parámetros de chamada:

  • map: Obxecto, especifique a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

addListener

Vincular un controlador de eventos a un obxecto

1 2
Object EventEmitter.addListener(String ev, Function func);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado
  • func: Función, especifica a función do controlador de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Vincular un controlador de eventos a un obxecto

1
Object EventEmitter.addListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifique a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

prependListener

Vincular unha función de controlador de eventos ao inicio do obxecto

1 2
Object EventEmitter.prependListener(String ev, Function func);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado
  • func: Función, especifica a función do controlador de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Vincular unha función de controlador de eventos ao inicio do obxecto

1
Object EventEmitter.prependListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifique a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

once

Vincula un controlador de eventos único ao obxecto, o manejador único só se activará unha vez

1 2
Object EventEmitter.once(String ev, Function func);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado
  • func: Función, especifica a función do controlador de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Vincula un controlador de eventos único ao obxecto, o manejador único só se activará unha vez

1
Object EventEmitter.once(Object map);

Parámetros de chamada:

  • map: Obxecto, especifique a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

prependOnceListener

Vincular unha función de controlador de eventos ao inicio do obxecto

1 2
Object EventEmitter.prependOnceListener(String ev, Function func);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado
  • func: Función, especifica a función do controlador de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Vincular unha función de controlador de eventos ao inicio do obxecto

1
Object EventEmitter.prependOnceListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifique a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

off

anular a función da cola de procesamento de obxectos

1 2
Object EventEmitter.off(String ev, Function func);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado
  • func: Función, especifica a función do controlador de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object EventEmitter.off(String ev);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

anular a función da cola de procesamento de obxectos

1
Object EventEmitter.off(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

removeListener

anular a función da cola de procesamento de obxectos

1 2
Object EventEmitter.removeListener(String ev, Function func);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado
  • func: Función, especifica a función do controlador de eventos

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object EventEmitter.removeListener(String ev);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

anular a función da cola de procesamento de obxectos

1
Object EventEmitter.removeListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

removeAllListeners

Cancela todos os oíntes para todos os eventos da cola de procesamento de obxectos ou elimina todos os oíntes para o evento especificado se se especifica un evento.

1
Object EventEmitter.removeAllListeners(String ev);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

Cancela todos os oíntes para todos os eventos da cola de procesamento de obxectos ou elimina todos os oíntes para o evento especificado se se especifica un evento.

1
Object EventEmitter.removeAllListeners(Array evs = []);

Parámetros de chamada:

  • evs: Matriz, o nome do evento especificado

devolver resultado:

  • Object, devolve o propio obxecto do evento, que é conveniente para as chamadas en cadea

setMaxListeners

O límite predeterminado no número de oíntes, só para compatibilidade

1
EventEmitter.setMaxListeners(Integer n);

Parámetros de chamada:

  • n: Número enteiro, especifica o número de eventos

getMaxListeners

Obtén o número limitado predeterminado de oíntes, só para compatibilidade

1
Integer EventEmitter.getMaxListeners();

devolver resultado:

  • Integer, devolve o número límite predeterminado

listeners

Consulta a matriz de oíntes para o evento especificado do obxecto

1
Array EventEmitter.listeners(String ev);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado

devolver resultado:

  • Array, devolve unha matriz de oíntes para o evento especificado

listenerCount

Consulta o número de oíntes para o evento especificado do obxecto

1
Integer EventEmitter.listenerCount(String ev);

Parámetros de chamada:

  • ev: Cadea, o nome do evento especificado

devolver resultado:

  • Integer, devolve o número de oíntes para o evento especificado

Consulta o número de oíntes para o evento especificado do obxecto

1 2
Integer EventEmitter.listenerCount(Value o, String ev);

Parámetros de chamada:

  • o: Valor, especifica o obxecto da consulta
  • ev: Cadea, o nome do evento especificado

devolver resultado:

  • Integer, devolve o número de oíntes para o evento especificado

eventNames

Consulta o nome do evento do oínte

1
Array EventEmitter.eventNames();

devolver resultado:

  • Array, devolve unha matriz de nomes de eventos

emit

Activa un evento de forma activa

1 2
Boolean EventEmitter.emit(String ev, ...args);

Parámetros de chamada:

  • ev: Cadea, nome do evento
  • args: ..., os parámetros de eventos, pasaranse á función do controlador de eventos

devolver resultado:

  • Boolean, devolve o estado de activación do evento, devolve verdadeiro se hai un evento de resposta, se non, devolve falso

toString

Devolve a representación en cadea do obxecto, xeralmente devolve "[Obxecto nativo]", o obxecto pódese reimplementar segundo as súas propias características

1
String EventEmitter.toString();

devolver resultado:

  • String, devolve unha representación en cadea do obxecto

toJSON

Devolve a representación en formato JSON do obxecto, xeralmente devolve unha colección de propiedades lexibles definidas polo obxecto

1
Value EventEmitter.toJSON(String key = "");

Parámetros de chamada:

  • key: Cadena, non usada

devolver resultado:

  • Value, que devolve un valor serializable por JSON