node.js中的events.emitter.removeListener方法使用说明

 更新时间:2014年12月10日 09:46:31   投稿:junjie  
这篇文章主要介绍了node.js中的events.emitter.removeListener方法使用说明,本文介绍了events.emitter.removeListener的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下

方法说明:

移除指定事件的某个监听器。

语法:

复制代码 代码如下:

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;
};

相关文章

  • npm错误errno -4048解决办法

    npm错误errno -4048解决办法

    这篇文章主要给大家介绍了关于npm错误errno -4048解决的相关资料,这个错误代码通常表示文件系统错误或者硬件故障引起的问题,文中通过图文将解决的办法介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • yarn 命令死循环问题分析解决

    yarn 命令死循环问题分析解决

    这篇文章主要为大家介绍了yarn 命令死循环问题分析解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Nodejs中执行的shell命令的代码分享

    Nodejs中执行的shell命令的代码分享

    虽然nodejs运行时提供了和OS交互的诸多API命令,但是有些操作(例如:特定系统信息获取)还是使用shell命令更加方便一些,下面就跟随小编一起来看看有哪些是宜在nodejs中执行的shell代码吧
    2024-02-02
  • 基于nodejs 的多页面爬虫实例代码

    基于nodejs 的多页面爬虫实例代码

    本篇文章主要介绍了基于nodejs 的多页面爬虫 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 在node中如何调用python脚本

    在node中如何调用python脚本

    这篇文章主要介绍了在node中如何调用python脚本,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 使用pkg打包nodejs项目并解决本地文件读取的问题

    使用pkg打包nodejs项目并解决本地文件读取的问题

    这篇文章主要介绍了使用pkg打包nodejs项目并解决本地文件读取的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 使用 Node.js和Express搭建服务器的过程步骤详解

    使用 Node.js和Express搭建服务器的过程步骤详解

    Node.js 是一个开源、跨平台的 JavaScript 运行时环境,这篇文章主要介绍了如何使用 Node.js和Express搭建服务器,需要的朋友可以参考下
    2023-09-09
  • linux 下以二进制的方式安装 nodejs

    linux 下以二进制的方式安装 nodejs

    这篇文章主要介绍了linux 下以二进制的方式安装 nodejs,文中给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 使用Node.js脚本自动统计代码量的实现代码

    使用Node.js脚本自动统计代码量的实现代码

    手动统计代码行数通常会耗费大量时间和精力,为了提高统计效率并减少人为错误,我们可以借助自动化工具来完成这项任务,本文将介绍如何使用 Node.js 脚本来自动化统计项目代码行数,让我们能够轻松快捷地获取项目的代码量信息,需要的朋友可以参考下
    2023-12-12
  • Nodejs新特性async和await的使用详解

    Nodejs新特性async和await的使用详解

    这篇文章主要介绍了Nodejs新特性async和await的使用,主要包括Es6常见语法的使用及Async、Await和Promise的示例代码,需要的朋友可以参考下
    2022-09-09

最新评论