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 字符串连接性能优化
Dec 20 Javascript
javascript cookies 设置、读取、删除实例代码
Apr 12 Javascript
细说浏览器特性检测(2)-通用事件检测
Nov 05 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
Oct 17 Javascript
Angular中$cacheFactory的作用和用法实例详解
Aug 19 Javascript
bootstrap suggest下拉框使用详解
Apr 10 Javascript
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
js+html5实现页面可刷新的倒计时效果
Jul 15 Javascript
关于JavaScript中的this指向问题总结篇
Jul 23 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
Mar 13 Javascript
vue+koa2搭建mock数据环境的详细教程
May 18 Javascript
详解TypeScript中的类型保护
Apr 29 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
PHP操作MySQL事务实例
2014/11/05 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
php中使用GD库做验证码
2016/03/31 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
javascript的BOM
2016/05/03 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
node.js基于express使用websocket的方法
2017/11/09 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
个人求职信范例
2014/01/29 职场文书
三个儿子教学反思
2014/02/03 职场文书
思想品德课教学反思
2014/02/10 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
自我检讨报告
2015/01/28 职场文书
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android
Golang表示枚举类型的详细讲解
2021/09/04 Golang
sql server 累计求和实现代码
2022/02/28 SQL Server
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server