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的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 Javascript
IE6下js通过css隐藏select的一个bug
Aug 16 Javascript
JavaScript 用cloneNode方法克隆节点的代码
Oct 15 Javascript
jquery为页面增加快捷键示例
Jan 31 Javascript
在Javascript中处理字符串之big()方法的使用
Jun 08 Javascript
javascript学习指南之回调问题
Apr 23 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
JavaScript自执行函数和jQuery扩展方法详解
Oct 27 jQuery
vue-quill-editor+plupload富文本编辑器实例详解
Oct 19 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
vite2.0+vue3移动端项目实战详解
Mar 03 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
分析Python中解析构建数据知识
2018/01/20 Python
python:动态路由的Flask程序代码
2019/11/22 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
python中pickle模块浅析
2020/12/29 Python
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
倡议书格式范文
2014/04/14 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
财务部岗位职责
2015/02/03 职场文书
学雷锋日活动总结
2015/02/06 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js