源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-10-07 04:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:node.js中的events.emitter.removeListener方法使用说明
[b]方法说明:[/b] 移除指定事件的某个监听器。 [b]语法:[/b]
[u]复制代码[/u] 代码如下:
emitter.removeListener(event, listener)
[b]接收参数:[/b] event            (string)             事件类型 listener         (function)        已注册过的监听器 [b]例子:[/b]
[u]复制代码[/u] 代码如下:
var callback = function(stream) {   console.log('someone connected!'); }; server.on('connection', callback); // ... server.removeListener('connection', callback);
[b]源码:[/b]
[u]复制代码[/u] 代码如下:
// 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; };
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部