eventEmitter les auditeurs et les émetteurs avec des paramètres différents
Peut-on avoir plusieurs auditeurs de l'émetteur, chacun travaillant sur différents nombre d'arguments?
par exemple
laisser les événements de l'émetteur sera comme ceci:
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) {})
Si ce qui précède est vrai, alors le paramètre qui va à qui? auditeur
OriginalL'auteur nirvanastack | 2014-06-25
Vous devez vous connecter pour publier un commentaire.
Des écouteurs d'événement ordinaire JS fonctions. De sorte que vous pouvez passer autant d'arguments que vous voulez, mais la fonction ne peut qu'accéder à ces arguments, vous avez déclaré dans la définition de la fonction c'est à dire
En fait, vous pouvez voir que tous les arguments fournis toujours transmis à chaque fonction. Mais si vous ne définissez pas les noms d'argument dans la déclaration de fonction, vous ne serez pas en mesure d'accéder directement à cette argumentation. Mais vous pouvez utiliser la magie des "arguments" de l'objet à l'intérieur de chaque fonction pour accéder à tous les arguments fournis. Bien sûr, l'argument fourni à la fonction dans l'ordre de leur passé à l'EE.
Vous êtes les bienvenus!
OriginalL'auteur mynameisdaniil
La EventEmitter semble appeler tous les auditeurs à l'aide de la appliquer méthode. Par conséquent, chaque auditeur peut s'attendre à recevoir des arguments dans le même ordre transmis à la
emit
fonction. Le code suivant montre que le sans paramètre auditeur reçoit encore tous les arguments de la fonction.OriginalL'auteur Hayes