Oggetto oggetto incorporato

ObjectEventEmitter

EventEmitter è un oggetto di attivazione di eventi, che può essere utilizzato per stabilire il modello dell'osservatore. Gli oggetti che supportano l'attivazione di eventi ereditano tutti da questo

Quando viene attivato un evento, tutti i listener associati all'evento vengono chiamati in modo asincrono. Ci consente inoltre di creare codice altamente personalizzabile e flessibile.

Le funzioni comunemente usate includono: addListener/on, once,removeListener/off,removeAllListeners ed emit.

Ecco un codice di esempio:

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')Quando viene eseguito il codice di esempio riportato sopra, l'evento dell'istanza dell'emettitore di eventi ascolta prima l'evento 'read_file' e quindi attiva l'operazione di lettura del file quando l'evento viene attivato ( ). Quando la lettura ha esito positivo, verrà attivato l'evento "show_content". A questo punto, la funzione che ha ascoltato l'evento "show_content" verrà eseguita e verrà visualizzato il contenuto del file. Se si verifica un errore durante la lettura del file, viene attivato l'evento 'errore' e viene gestito il fallimento dell'operazione.

Questo modello presenta grandi vantaggi negli scenari aziendali che trattano operazioni asincrone.

rapporto ereditario

%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

Costruttore

EventEmitter

Costruttore

1
new EventEmitter();

oggetto

oggetto di attivazione dell'evento

1
EventEmitter new EventEmitter;

proprietà statiche

defaultMaxListeners

Intero, il numero massimo globale predefinito di ascoltatori

1
static Integer EventEmitter.defaultMaxListeners;

funzione membro

on

Associa un gestore eventi all'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'oggetto

1
Object EventEmitter.on(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

addListener

Associa un gestore eventi all'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'oggetto

1
Object EventEmitter.addListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

prependListener

Associa un gestore eventi all'origine dell'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'origine dell'oggetto

1
Object EventEmitter.prependListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

once

Associa un gestore di eventi monouso all'oggetto. Il gestore di eventi monouso verrà attivato solo una volta.

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore di eventi monouso all'oggetto. Il gestore di eventi monouso verrà attivato solo una volta.

1
Object EventEmitter.once(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

prependOnceListener

Associa un gestore eventi all'origine dell'oggetto

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'origine dell'oggetto

1
Object EventEmitter.prependOnceListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

off

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutte le funzioni nella coda di elaborazione degli oggetti

1
Object EventEmitter.off(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

1
Object EventEmitter.off(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto viene utilizzato come nome dell'evento e il valore dell'attributo viene utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

removeListener

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

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

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutte le funzioni nella coda di elaborazione degli oggetti

1
Object EventEmitter.removeListener(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

1
Object EventEmitter.removeListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto viene utilizzato come nome dell'evento e il valore dell'attributo viene utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

removeAllListeners

Annulla tutti i listener per tutti gli eventi dalla coda di elaborazione dell'oggetto. Se viene specificato un evento, rimuove tutti i listener per l'evento specificato.

1
Object EventEmitter.removeAllListeners(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutti i listener per tutti gli eventi dalla coda di elaborazione dell'oggetto. Se viene specificato un evento, rimuove tutti i listener per l'evento specificato.

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

Parametri di chiamata:

  • evs: Array, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

setMaxListeners

Il limite predefinito sul numero di ascoltatori, solo per compatibilità

1
EventEmitter.setMaxListeners(Integer n);

Parametri di chiamata:

  • n: Numero intero, specifica il numero di eventi

getMaxListeners

Ottiene il numero limite predefinito di ascoltatori, solo per compatibilità

1
Integer EventEmitter.getMaxListeners();

Risultati restituiti:

  • Integer, restituisce la quantità limite predefinita

listeners

Interroga l'array del listener per l'evento specificato dell'oggetto

1
Array EventEmitter.listeners(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Array, restituisce l'array del listener per l'evento specificato

listenerCount

Interroga il numero di ascoltatori per l'evento specificato dell'oggetto

1
Integer EventEmitter.listenerCount(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Integer, restituisce il numero di ascoltatori per l'evento specificato

Interroga il numero di ascoltatori per l'evento specificato dell'oggetto

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

Parametri di chiamata:

  • o: Valore, specifica l'oggetto della query
  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Integer, restituisce il numero di ascoltatori per l'evento specificato

eventNames

Interroga il nome dell'evento del listener

1
Array EventEmitter.eventNames();

Risultati restituiti:

  • Array, restituisce una matrice di nomi di eventi

emit

Attiva attivamente un evento

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

Parametri di chiamata:

  • ev: stringa, nome dell'evento
  • args: ..., i parametri dell'evento verranno passati alla funzione di elaborazione degli eventi

Risultati restituiti:

  • Boolean, restituisce lo stato di attivazione dell'evento, restituisce true se è presente un evento di risposta, altrimenti restituisce false

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String EventEmitter.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile