方法说明:
为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器。
语法:
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;
};