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

  方法说明:

  为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器。

  语法:

  

复制代码 代码如下:

  emitter.once(event, listener)

  接收参数:

  event            (string)             事件类型

  listener         (function)         触发事件时的回调函数

  例子:

  

复制代码 代码如下:

  server.once('connection', function (stream) {

  console.log('Ah, we have our first user!');

  });

  源码:

  

复制代码 代码如下:

  EventEmitter.prototype.once = function(type, listener) {

  if (!util.isFunction(listener))

  throw TypeError('listener must be a function');

  function g() {

  this.removeListener(type, g);

  listener.apply(this, arguments);

  }

  g.listener = listener;

  this.on(type, g);

  return this;

  };