Objekt integriertes Objekt

ObjectEventEmitter

EventEmitter ist ein ereignisauslösendes Objekt, mit dem das Beobachtermuster festgelegt werden kann. Alle Objekte, die die Ereignisauslösung unterstützen, erben davon

Wenn ein Ereignis ausgelöst wird, werden alle mit dem Ereignis verknüpften Listener asynchron aufgerufen. Es ermöglicht uns auch, Code zu erstellen, der hochgradig anpassbar und flexibel ist.

Zu den häufig verwendeten Funktionen gehören: addListener/on, Once, RemoveListener/Off, RemoveAllListeners und Emit.

Hier ist ein Beispielcode:

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')Wenn der obige Beispielcode ausgeführt wird, lauscht das Ereignis-Emitter-Instanzereignis zuerst auf das Ereignis „read_file“ und löst dann den Vorgang zum Lesen der Datei aus , wenn das Ereignis ausgelöst wird ( ). Wenn das Lesen erfolgreich ist, wird das Ereignis „show_content“ ausgelöst. Zu diesem Zeitpunkt wird die Funktion ausgeführt, die das Ereignis „show_content“ abgehört hat, und der Dateiinhalt wird angezeigt. Wenn beim Lesen der Datei ein Fehler auftritt, wird das Ereignis „error“ ausgelöst und der Fehler des Vorgangs behandelt.

Dieses Modell bietet große Vorteile in Geschäftsszenarien, die sich mit asynchronen Vorgängen befassen.

Erbschaftsverhältnis

%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

Konstrukteur

EventEmitter

Konstrukteur

1
new EventEmitter();

Objekt

Ereignisauslöserobjekt

1
EventEmitter new EventEmitter;

statische Eigenschaften

defaultMaxListeners

Ganzzahl, die standardmäßige globale maximale Anzahl von Listenern

1
static Integer EventEmitter.defaultMaxListeners;

Mitgliedsfunktion

on

Binden Sie einen Event-Handler an das Objekt

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Event-Handler an das Objekt

1
Object EventEmitter.on(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

addListener

Binden Sie einen Event-Handler an das Objekt

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Event-Handler an das Objekt

1
Object EventEmitter.addListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

prependListener

Binden Sie einen Ereignishandler an den Ursprung des Objekts

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Ereignishandler an den Ursprung des Objekts

1
Object EventEmitter.prependListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

once

Binden Sie einen einmaligen Ereignishandler an das Objekt. Der einmalige Handler wird nur einmal ausgelöst.

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen einmaligen Ereignishandler an das Objekt. Der einmalige Handler wird nur einmal ausgelöst.

1
Object EventEmitter.once(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

prependOnceListener

Binden Sie einen Ereignishandler an den Ursprung des Objekts

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Ereignishandler an den Ursprung des Objekts

1
Object EventEmitter.prependOnceListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

off

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object EventEmitter.off(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

1
Object EventEmitter.off(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

removeListener

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object EventEmitter.removeListener(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

1
Object EventEmitter.removeListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

removeAllListeners

Löscht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.

1
Object EventEmitter.removeAllListeners(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Löscht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.

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

Aufrufparameter:

  • evs: Array, geben Sie den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

setMaxListeners

Die Standardbeschränkung für die Anzahl der Listener dient nur der Kompatibilität

1
EventEmitter.setMaxListeners(Integer n);

Aufrufparameter:

  • n: Ganzzahl, geben Sie die Anzahl der Ereignisse an

getMaxListeners

Ruft nur aus Kompatibilitätsgründen die standardmäßige maximale Anzahl von Listenern ab

1
Integer EventEmitter.getMaxListeners();

Rückgabeergebnisse:

  • Integer, gibt die Standardgrenzmenge zurück

listeners

Fragen Sie das Listener-Array nach dem angegebenen Ereignis des Objekts ab

1
Array EventEmitter.listeners(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Array, gibt das Listener-Array für das angegebene Ereignis zurück

listenerCount

Fragen Sie die Anzahl der Listener für das angegebene Ereignis des Objekts ab

1
Integer EventEmitter.listenerCount(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Integer, gibt die Anzahl der Listener für das angegebene Ereignis zurück

Fragen Sie die Anzahl der Listener für das angegebene Ereignis des Objekts ab

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

Aufrufparameter:

  • o: Wert, gibt das Objekt der Abfrage an
  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Integer, gibt die Anzahl der Listener für das angegebene Ereignis zurück

eventNames

Name des Abfrage-Listener-Ereignisses

1
Array EventEmitter.eventNames();

Rückgabeergebnisse:

  • Array, gibt ein Array von Ereignisnamen zurück

emit

Ein Ereignis aktiv auslösen

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

Aufrufparameter:

  • ev: String, Ereignisname
  • args: ..., Ereignisparameter werden an die Ereignisverarbeitungsfunktion übergeben

Rückgabeergebnisse:

  • Boolean, gibt den Ereignisauslöserstatus zurück, gibt „true“ zurück, wenn ein Antwortereignis vorliegt, andernfalls wird „false“ zurückgegeben

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.

1
String EventEmitter.toString();

Rückgabeergebnisse:

  • String, gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.

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

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

  • Value, gibt einen Wert zurück, der JSON serialisierbar enthält