node.js中的events.emitter.removeListener方法使用说明
方法说明:
移除指定事件的某个监听器。
语法:
emitter.removeListener(event, listener)
接收参数:
event (string) 事件类型
listener (function) 已注册过的监听器
例子:
var callback = function(stream) { console.log('someone connected!'); }; server.on('connection', callback); // ... server.removeListener('connection', callback);
源码:
// emits a 'removeListener' event iff the listener was removed EventEmitter.prototype.removeListener = function(type, listener) { var list, position, length, i; if (!util.isFunction(listener)) throw TypeError('listener must be a function'); if (!this._events || !this._events[type]) return this; list = this._events[type]; length = list.length; position = -1; if (list === listener || (util.isFunction(list.listener) && list.listener === listener)) { delete this._events[type]; if (this._events.removeListener) this.emit('removeListener', type, listener); } else if (util.isObject(list)) { for (i = length; i-- > 0;) { if (list[i] === listener || (list[i].listener && list[i].listener === listener)) { position = i; break; } } if (position < 0) return this; if (list.length === 1) { list.length = 0; delete this._events[type]; } else { list.splice(position, 1); } if (this._events.removeListener) this.emit('removeListener', type, listener); } return this; };
node.js中的emitter.emit方法使用说明
方法说明:发射event事件,传递若干可选参数到事件监听器的参数表。语法:emitter.emit(event,[arg1],[arg2],[...])接收参数:event事件类型arg1~argN传递的参数(多
node.js中的events.emitter.once方法使用说明
方法说明:为指定事件注册一个单次监听器,所以监听器至多只会触发一次,触发后立即解除该监听器。语法:emitter.once(event,listener)接收参数:event(stri
node.js中的emitter.on方法使用说明
方法说明:为指定事件注册一个监听器。语法:emitter.on(event,listener)emitter.addListener(event,listener)接收参数:event(string)事件类型listener(function)触发事件时的
标签:监听器,事件,方法,参数,语法