• 技术文章 >web前端 >js教程

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

    2016-05-16 16:27:42原创1328

    方法说明:

    移除所有监听器,如果指定event,则将移除指定事件的所有监听器。

    语法:

    复制代码 代码如下:

    emitter.removeAllListeners([event])

    接收参数:

    event 事件类型,支持多个

    例子:

    复制代码 代码如下:

    //移除所有监听器

    emitter.removeAllListeners()

    //移除指定event的所有监听器

    emitter.removeAllListeners('data')

    源码:

    复制代码 代码如下:

    EventEmitter.prototype.removeAllListeners = function(type) {
    var key, listeners;
    if (!this._events)
    return this;
    // not listening for removeListener, no need to emit
    if (!this._events.removeListener) {
    if (arguments.length === 0)
    this._events = {};
    else if (this._events[type])
    delete this._events[type];
    return this;
    }
    // emit removeListener for all listeners on all events
    if (arguments.length === 0) {
    for (key in this._events) {
    if (key === 'removeListener') continue;
    this.removeAllListeners(key);
    }
    this.removeAllListeners('removeListener');
    this._events = {};
    return this;
    }
    listeners = this._events[type];
    if (util.isFunction(listeners)) {
    this.removeListener(type, listeners);
    } else {
    // LIFO order
    while (listeners.length)
    this.removeListener(type, listeners[listeners.length - 1]);
    }
    delete this._events[type];
    return this;
    };

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:javascript实现倒计时N秒后网页自动跳转代码_javascript技巧 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Node学习之如何最小化堆分配和防止内存泄漏• 深入解析JWT(JSON Web Token)的原理及用法• 聊聊Node项目中怎么操作MySQL• 聊聊Node.js中怎么用async函数• react native路由跳转怎么实现
    1/1

    PHP中文网