eventEmitter Zuhörer und-Strahler mit verschiedenen Parametern
Können, haben wir mehrere Listener von einem Sender, jede Arbeit auf die unterschiedliche Anzahl von Argumenten?
z.B.
lassen event-emitter wie folgt sein:
evetE.emit('pre', global, file, self);
corresponding event listeners:
//Listener 1
m.eventE.on('pre', function() {
//TODO
})
//Listener 2
eventE.on('pre', function(context, file, m){
console.log(context.ans);
});
//Listener 3
eventE.on('pre', function(context){
console.log(context.ans);
});
//Listener 4
this.eventE.on('pre',function (context) {})
Wenn die oben genannten wahr ist, dann die parameter geht, auf die Zuhörer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ereignis-Listener nur regelmäßige JS-Funktionen. So können Sie geben so viele Argumente, wie Sie wollen, aber die Funktion nur kann der Zugriff auf diese Argumente, die Sie haben erklärt, in der definition einer Funktion, d.h.
Tatsächlich können Sie sehen, dass alle Argumente übergeben, um jede Funktion. Aber wenn Sie nicht definieren, argument-Namen in der Funktion Erklärung, die Sie nicht in der Lage sein, um direkt Zugriff auf diese Argumente. Aber Sie kann Magie benutzen "Argumente" - Objekt in jede Funktion, um den Zugriff auf alle bereitgestellten Argumente. Natürlich, argument der Funktion in der Reihenfolge, wie Sie übergeben EE.
Die EventEmitter angezeigt wird, rufen alle Hörer mit der bewerben Methode. Daher wird jeder Zuhörer erwarten können Argumente in der gleichen Reihenfolge übergeben, um die
emit
Funktion. Der folgende code veranschaulicht, dass der parameterlose Hörer erhält weiterhin alle Argumente der Funktion.