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 相关文章推荐
jQuery extend 的简单实例
Sep 18 Javascript
js拖拽一些常见的思路方法整理
Mar 19 Javascript
一个Action如何调用两个不同的方法
May 22 Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 Javascript
jquery validate表单验证的基本用法入门
Jan 18 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
Aug 10 Javascript
详解webpack 最简打包结果分析
Feb 20 Javascript
关于微信小程序map组件z-index的层级问题分析
Jul 09 Javascript
layui自己添加图片按钮并点击跳转页面的例子
Sep 14 Javascript
node crawler如何添加promise支持
Feb 01 Javascript
Javascript ParentNode和ChildNode接口原理解析
Mar 16 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下实现折线图效果的代码
2007/04/28 PHP
php实现mysql同步的实现方法
2009/10/21 PHP
PHP取进制余数函数代码
2012/01/19 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
python从入门到精通(DAY 1)
2015/12/20 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
企业文化演讲稿
2014/05/20 职场文书
法人代表证明书格式
2014/10/01 职场文书
统计员岗位职责
2015/02/11 职场文书
储备店长岗位职责
2015/04/14 职场文书
行政二审代理词
2015/05/25 职场文书
亮剑精神观后感
2015/06/05 职场文书
羊脂球读书笔记
2015/06/30 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python