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 相关文章推荐
多个datatable共存造成多个表格的checkbox都被选中
Jul 11 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
Feb 17 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
Apr 06 Javascript
JavaScript数组和循环详解
Apr 27 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
Sep 01 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
Oct 24 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
webpack实现一个行内样式px转vw的loader示例
Sep 13 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 Javascript
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
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
php一个找二层目录的小东东
2012/08/02 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
Python使用MD5加密字符串示例
2014/08/22 Python
Python实现大文件排序的方法
2015/07/10 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
python获取代理IP的实例分享
2018/05/07 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
在C语言中实现抽象数据类型什么方法最好
2014/06/26 面试题
生物科学专业个人求职信范文
2013/12/05 职场文书
派出所所长先进事迹
2014/05/19 职场文书
模特大赛策划方案
2014/05/28 职场文书
我爱我班主题班会
2015/08/13 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书