Object-ingebouwd object

ObjectEventEmitter

EventEmitter is een gebeurtenistriggerobject dat kan worden gebruikt om het waarnemerspatroon vast te stellen. Objecten die het triggeren van gebeurtenissen ondersteunen, nemen hiervan allemaal over

Wanneer een gebeurtenis wordt geactiveerd, worden alle luisteraars die aan de gebeurtenis zijn gekoppeld, asynchroon aangeroepen. Het stelt ons ook in staat code te creëren die zeer aanpasbaar en flexibel is.

Veelgebruikte functies zijn onder meer: ​​addListener/on, once, removeListener/off, removeAllListeners en emit.

Hier is een voorbeeldcode:

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')Wanneer de bovenstaande voorbeeldcode wordt uitgevoerd, luistert de instantiegebeurtenis van de gebeurtenisemitter eerst naar de gebeurtenis 'read_file' en activeert vervolgens de bewerking van het lezen van het bestand wanneer de gebeurtenis wordt geactiveerd ( ). Wanneer het lezen succesvol is, wordt de gebeurtenis 'show_content' geactiveerd. Op dit moment wordt de functie die naar de gebeurtenis 'show_content' heeft geluisterd uitgevoerd en wordt de bestandsinhoud weergegeven. Als er een fout optreedt tijdens het lezen van het bestand, wordt de gebeurtenis 'error' geactiveerd en wordt de mislukking van de bewerking afgehandeld.

Dit model heeft grote voordelen in bedrijfsscenario's die te maken hebben met asynchrone operaties.

erfenis relatie

%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

Constructeur

EventEmitter

Constructeur

1
new EventEmitter();

voorwerp

gebeurtenistriggerobject

1
EventEmitter new EventEmitter;

statische eigenschappen

defaultMaxListeners

Geheel getal, het standaard globale maximale aantal luisteraars

1
static Integer EventEmitter.defaultMaxListeners;

lid functie

on

Bind een gebeurtenishandler aan het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan het object

1
Object EventEmitter.on(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

addListener

Bind een gebeurtenishandler aan het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan het object

1
Object EventEmitter.addListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

prependListener

Bind een gebeurtenishandler aan de oorsprong van het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan de oorsprong van het object

1
Object EventEmitter.prependListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

once

Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.

1
Object EventEmitter.once(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

prependOnceListener

Bind een gebeurtenishandler aan de oorsprong van het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan de oorsprong van het object

1
Object EventEmitter.prependOnceListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

off

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleer alle functies in de wachtrij voor objectverwerking

1
Object EventEmitter.off(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1
Object EventEmitter.off(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

removeListener

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleer alle functies in de wachtrij voor objectverwerking

1
Object EventEmitter.removeListener(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1
Object EventEmitter.removeListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

removeAllListeners

Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.

1
Object EventEmitter.removeAllListeners(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.

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

Oproepparameters:

  • evs: Array, geef de naam van de gebeurtenis op

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

setMaxListeners

De standaardlimiet voor het aantal luisteraars, alleen voor compatibiliteit

1
EventEmitter.setMaxListeners(Integer n);

Oproepparameters:

  • n: geheel getal, geef het aantal gebeurtenissen op

getMaxListeners

Krijgt het standaardlimietaantal luisteraars, alleen voor compatibiliteit

1
Integer EventEmitter.getMaxListeners();

Resultaten retourneren:

  • Integer, retourneert de standaardlimiethoeveelheid

listeners

Voer een query uit op de luisteraararray voor de opgegeven gebeurtenis van het object

1
Array EventEmitter.listeners(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Array, retourneert de luisteraararray voor de opgegeven gebeurtenis

listenerCount

Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object

1
Integer EventEmitter.listenerCount(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis

Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object

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

Oproepparameters:

  • o: Waarde, specificeert het object van de query
  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis

eventNames

Naam van query-listenergebeurtenis

1
Array EventEmitter.eventNames();

Resultaten retourneren:

  • Array, retourneert een array met gebeurtenisnamen

emit

Activeer actief een gebeurtenis

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

Oproepparameters:

  • ev: String, gebeurtenisnaam
  • args: ..., gebeurtenisparameters worden doorgegeven aan de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Boolean, retourneert de gebeurtenistriggerstatus, retourneert waar als er een responsgebeurtenis is, retourneert anders false

toString

Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.

1
String EventEmitter.toString();

Resultaten retourneren:

  • String, retourneert de tekenreeksrepresentatie van het object

toJSON

Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat