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 相关文章推荐
让innerText在firefox火狐和IE浏览器都能用的写法
May 14 Javascript
FireBug 调试JS入门教程 如何调试JS
Dec 23 Javascript
js点击事件链接的问题解决
Apr 25 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
Aug 05 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
BootStrap3使用错误记录及解决办法
Dec 22 Javascript
Vue.js实战之利用vue-router实现跳转页面
Apr 01 Javascript
Vue 项目分环境打包的方法示例
Aug 03 Javascript
vue cli 3.0 搭建项目的图文教程
May 17 Javascript
微信小程序实现蓝牙打印
Sep 23 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
Oct 08 Javascript
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 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
pw的一个放后门的方法分析
2007/10/08 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
js日期联动示例
2014/05/02 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
python实现倒计时的示例
2014/02/14 Python
跟老齐学Python之Import 模块
2014/10/13 Python
Python实现的批量下载RFC文档
2015/03/10 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
python实现logistic分类算法代码
2020/02/28 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
如何用Python徒手写线性回归
2021/01/25 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
揠苗助长教学反思
2014/02/04 职场文书
寄语十八大感言
2014/02/07 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
主题实践活动总结
2014/05/08 职场文书
2014年教育工作总结
2014/11/26 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android