前端开发

 首页 > 前端开发 > nodejs > node.js中的emitter.on方法使用说明

node.js中的emitter.on方法使用说明

分享到:
【字体:
导读:
          这篇文章主要介绍了node.js中的emitter.on方法使用说明,本文介绍了emitter.on的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下 方法说明: 为指定事件注册一个监听...

这篇文章主要介绍了node.js中的emitter.on方法使用说明,本文介绍了emitter.on的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下

方法说明:

为指定事件注册一个监听器。

语法:

 

复制代码代码如下:

emitter.on(event, listener)
emitter.addListener(event, listener)

 

接收参数:

event            (string)             事件类型
listener         (function)         触发事件时的回调函数

例子:

 

复制代码代码如下:

server.on('connection', function (stream) {
  console.log('someone connected!');
});

 

源码:

 

复制代码代码如下:

EventEmitter.prototype.addListener = function(type, listener) {
  var m;
  if (!util.isFunction(listener))
    throw TypeError('listener must be a function');
  if (!this._events)
    this._events = {};
  // To avoid recursion in the case that type === "newListener"! Before
  // adding it to the listeners, first emit "newListener".
  if (this._events.newListener)
    this.emit('newListener', type,
              util.isFunction(listener.listener) ?
              listener.listener : listener);
  if (!this._events[type])
    // Optimize the case of one listener. Don't need the extra array object.
    this._events[type] = listener;
  else if (util.isObject(this._events[type]))
    // If we've already got an array, just append.
    this._events[type].push(listener);
  else
    // Adding the second element, need to change to array.
    this._events[type] = [this._events[type], listener];
  // Check for listener leak
  if (util.isObject(this._events[type]) && !this._events[type].warned) {
    var m;
    if (!util.isUndefined(this._maxListeners)) {
      m = this._maxListeners;
    } else {
      m = EventEmitter.defaultMaxListeners;
    }
    if (m && m > 0 && this._events[type].length > m) {
      this._events[type].warned = true;
      console.error('(node) warning: possible EventEmitter memory ' +
                    'leak detected. %d listeners added. ' +
                    'Use emitter.setMaxListeners() to increase limit.',
                    this._events[type].length);
      console.trace();
    }
  }
  return this;
};
 
分享到:
node.js中的http.request.end方法使用说...
这篇文章主要介绍了node.js中的http.request.end方法使用说明,本文介绍了http.request.end的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下 方法说明: 完成请求发送。 如果任何一部分请求体没有被发送,它将被刷新到流。 如果指定了 data值,将在执行完 request.end() 后,再执行一条 ...
node.js中的events.emitter.once方法使用...
这篇文章主要介绍了node.js中的events.emitter.once方法使用说明,本文介绍了events.emitter.once的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下 方法说明: 为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器。 语法:   复制代码代码如下: ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……