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


Posted in Javascript onDecember 10, 2014

方法说明:

移除指定事件的某个监听器。

语法:

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;

};
Javascript 相关文章推荐
浅谈关于JavaScript的语言特性分析
Apr 11 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
Dec 14 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
Jun 12 Javascript
VUE实现一个分页组件的示例
Sep 13 Javascript
Seajs源码详解分析
Apr 02 Javascript
详解ES6 Promise的生命周期和创建
Aug 18 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 06 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
Apr 27 Javascript
JavaScript 链表定义与使用方法示例
Apr 28 Javascript
jquery实现穿梭框功能
Jan 19 jQuery
Java无向树分析 实现最小高度树
Apr 09 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 #Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
Dec 10 #Javascript
node.js中的querystring.unescape方法使用说明
Dec 10 #Javascript
node.js中的querystring.escape方法使用说明
Dec 10 #Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 #Javascript
node.js中的querystring.parse方法使用说明
Dec 10 #Javascript
node.js中的url.resolve方法使用说明
Dec 10 #Javascript
You might like
抓取YAHOO股票报价的类
2009/05/15 PHP
php中namespace及use用法分析
2016/12/06 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
简单JS代码压缩器
2006/10/12 Javascript
JavaScript 中的事件教程
2007/04/05 Javascript
javascript Object与Function使用
2010/01/11 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
塔吉特百货公司官网:Target
2017/04/27 全球购物
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
C面试题
2015/10/08 面试题
室内设计专业个人的自我评价
2013/10/19 职场文书
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
个人担保书范文
2014/05/20 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
兵马俑导游词
2015/02/02 职场文书
服务员岗位职责
2015/02/03 职场文书
销售经理工作检讨书
2015/02/19 职场文书
Win11软件图标固定到任务栏
2022/04/19 数码科技
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS