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 对象的创建与使用
Mar 09 Javascript
在javascript将NodeList作为Array数组处理的方法
Jul 09 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
Mar 26 Javascript
深入浅出讲解ES6的解构
Aug 03 Javascript
浅谈JS函数定义方式的区别
Oct 30 Javascript
利用Angular.js编写公共提示模块的方法教程
May 28 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
BootStrap入门学习第一篇
Aug 28 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 Javascript
js 对象使用的小技巧实例分析
Nov 08 Javascript
Javascript如何递归遍历本地文件夹
Aug 06 Javascript
Javascript数组及类数组相关原理详解
Oct 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操作数组相关函数
2011/02/03 PHP
php读取3389的脚本
2014/05/06 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
openCV提取图像中的矩形区域
2020/07/21 Python
会计电算化应届生自荐信
2014/02/25 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
医院党员公开承诺书
2014/08/30 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
2014年度思想工作总结
2014/11/27 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
2015秋学期开学寄语
2015/05/28 职场文书