对emitter.on方法在Node.js的使用说明

方法显示:

为指定事件注册侦听器。

Grammar:

复制代码代码如下所示:

Emitter.on(事件监听器)

Emitter.addListener(事件监听器)



接收参数:

事件(字符串)事件类型

侦听器(函数)触发事件时的回调函数。

实例uff1a

复制代码代码如下所示:

server.on(连接,功能(流){

console.log(有人接!;

});



源代码 uff1a

复制代码代码如下所示:

eventemitter.prototype.addlistener =函数(类型、听众){

var m;

如果(!util.isfunction(听众))

把TypeError('listener必须是一个函数);

如果(!这_events)。

这_events = { };

为了避免递归的案例/类型=newlistener 之前!

它 / /添加侦听器,第一次发出newlistener 。

如果(这。_events。newlistener)

This.emit('newlistener型,

util.isfunction(听众。听众)

Listener.listener:听众);

如果(!这_events {型})。

优化一个监听器的情况。不需要额外的数组对象。

这_events { } =听众类型;

如果(util.isobject(这个。_events {型}))

如果我们已经没有一个数组,只需追加。

这个_events {类型}推(听众);

其他的

第二个添加元素需要更改为数组。

这个_events { } = {这类型。_events {型},听者};

侦听器泄漏检查

如果(util.isobject(这个。_events {型})!这个_events {类型} {警告)。

var m;

如果(!util.isundefined(这个。_maxlisteners)){

这_maxlisteners M =;

{人}

M = eventemitter.defaultmaxlisteners;

}

如果(m>0。_events {类型}。长度>m){

这个_events {类型}。警告=真;

Console.error('(节点)警告:可能的EventEmitter记忆+

检测到泄漏。添加了%d个侦听器。+

使用emitter.setmaxlisteners()增加限制。,

这个_events {类型}长度);

Console.trace();

}

}

返回此;

};