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

时间:2022-04-25 22:55:19

方法说明:

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

语法:

 

复制代码 代码如下:

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;
};