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 02 Javascript
仿新浪微博登陆邮箱提示效果的js代码
Aug 02 Javascript
判断一个变量是数组Array类型的方法
Sep 16 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
Jul 14 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
Nov 04 Javascript
javascript表单事件处理方法详解
May 15 Javascript
JS实现倒计时(天数、时、分、秒)
Nov 16 Javascript
JS实现带阴历的日历功能详解
Jan 24 Javascript
js Array.slice的8种不同用法示例
Jul 10 Javascript
JavaScript运行机制实例分析
Apr 11 Javascript
精读《Vue3.0 Function API》
May 20 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
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
js评分组件使用详解
2017/06/06 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
python文件操作相关知识点总结整理
2016/02/22 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
浅析Python requests 模块
2020/10/09 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
应聘收银员个人的求职信
2013/11/30 职场文书
经理秘书找工作求职信
2013/12/19 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
期末自我鉴定
2014/01/23 职场文书
主要负责人任命书
2014/06/06 职场文书
政协调研汇报材料
2014/08/15 职场文书
暑假安全保证书
2015/02/28 职场文书
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL