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
23var 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
Constructeur
EventEmitter
Constructeur
1new EventEmitter();
voorwerp
gebeurtenistriggerobject
1EventEmitter new EventEmitter;
statische eigenschappen
defaultMaxListeners
Geheel getal, het standaard globale maximale aantal luisteraars
1static Integer EventEmitter.defaultMaxListeners;
lid functie
on
Bind een gebeurtenishandler aan het object
1
2Object 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
1Object 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
2Object 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
1Object 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
2Object 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
1Object 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
2Object 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.
1Object 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
2Object 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
1Object 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
2Object 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
1Object 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
1Object 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
2Object 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
1Object 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
1Object 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.
1Object 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.
1Object 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
1EventEmitter.setMaxListeners(Integer n);
Oproepparameters:
- n: geheel getal, geef het aantal gebeurtenissen op
getMaxListeners
Krijgt het standaardlimietaantal luisteraars, alleen voor compatibiliteit
1Integer EventEmitter.getMaxListeners();
Resultaten retourneren:
- Integer, retourneert de standaardlimiethoeveelheid
listeners
Voer een query uit op de luisteraararray voor de opgegeven gebeurtenis van het object
1Array 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
1Integer 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
2Integer 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
1Array EventEmitter.eventNames();
Resultaten retourneren:
- Array, retourneert een array met gebeurtenisnamen
emit
Activeer actief een gebeurtenis
1
2Boolean 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.
1String 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.
1Value EventEmitter.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat