Description de la méthode :
Enregistrez un auditeur pour l'événement spécifié.
Grammaire :
émetteur.on (événement, auditeur)
émetteur.addListener(événement, écouteur)
Paramètres de réception :
événement (chaîne) Type d'événement
écouteur (fonction) La fonction de rappel lorsqu'un événement est déclenché
Exemple :
server.on('connexion', fonction (flux) {
console.log('quelqu'un connecté !');
});
Code source :
EventEmitter.prototype.addListener = function(type, écouteur) {
varm;
si (!util.isFunction(listener))
Throw TypeError('l'auditeur doit être une fonction');
si (!this._events)
This._events = {};
// Pour éviter la récursion dans le cas où vous tapez === "newListener" Before
// en l'ajoutant aux auditeurs, émettez d'abord "newListener".
si (this._events.newListener)
This.emit('newListener', tapez,
util.isFunction(listener.listener) ?
Listener.listener : auditeur);
si (!this._events[type])
// Optimise le cas d'un écouteur. Pas besoin de l'objet tableau supplémentaire.
This._events[type] = auditeur;
sinon if (util.isObject(this._events[type]))
// Si nous avons déjà un tableau, ajoutez-le simplement.
This._events[type].push(listener);
d'autre
// Ajout du deuxième élément, besoin de changer en tableau.
This._events[type] = [this._events[type], écouteur];
// Vérifier la fuite de l'auditeur
if (util.isObject(this._events[type]) && !this._events[type].warned) {
varm;
Si (!util.isUndefined(this._maxListeners)) {
m = this._maxListeners;
} autre {
m = EventEmitter.defaultMaxListeners;
>
Si (m && m > 0 && this._events[type].length > m) {
This._events[type].warned = true;
console.error('(node) avertissement : mémoire EventEmitter possible '
'fuite détectée. %d auditeurs ajoutés.'
'Utilisez submitter.setMaxListeners() pour augmenter la limite.',
This._events[type].length);
console.trace();
>
>
rends ceci ;
};