Können wir mehrere Listener eines Emitters haben, von denen jeder an einer unterschiedlichen Anzahl von Argumenten arbeitet?
z.B. Lassen Sie Ereignisemitter wie folgt aussehen:
%Vor%Wenn das Obige wahr ist, welcher Parameter dann zu welchem Listener geht?
Event-Listener nur normale JS-Funktionen. Sie können also beliebig viele Argumente übergeben, aber nur die Funktion kann auf die Argumente zugreifen, die Sie in Funktionsdefinition deklariert haben, z. B.
%Vor%Tatsächlich können Sie sehen, dass alle bereitgestellten Argumente immer an jede Funktion übergeben wurden. Wenn Sie in der Funktionsdeklaration keine Argumentnamen definieren, können Sie nicht direkt auf diese Argumente zugreifen. Sie können jedoch in jeder Funktion magische Argumente verwenden, um auf alle bereitgestellten Argumente zuzugreifen. Natürlich lieferte das Argument der Funktion in der Reihenfolge, in der sie an EE übergeben wurden.
Der EventEmitter scheint alle Listener mit dem Methode anwenden . Daher kann jeder Listener erwarten, Argumente in der gleichen Reihenfolge zu erhalten, die an die Funktion emit
übergeben wird. Der folgende Code demonstriert, dass der parameterlose Listener weiterhin alle Argumente für die Funktion erhält.
Tags und Links javascript node.js protractor eventemitter mocha