方法說明:
為指定事件註冊一個 單次 監聽器,所以監聽器至多只會觸發一次,觸發後立即解除該監聽器。
文法:
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;
};