广州明生堂生物科技有限公司


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

网络编程 node.js中的events.emitter.removeAllListeners方法使用说明 06-22

方法说明:

移除所有监听器,如果指定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;

};

node.js中的events.emitter.listeners方法使用说明
方法说明:注册了指定event的所有监听器将被作为数组返回。语法:emitter.listeners(event)接收参数:event指定事件例子:server.on('connection',function(stream){consol

node.js中的events.emitter.removeListener方法使用说明
方法说明:移除指定事件的某个监听器。语法:emitter.removeListener(event,listener)接收参数:event(string)事件类型listener(function)已注册过的监听器例子:varcallb

node.js中的emitter.emit方法使用说明
方法说明:发射event事件,传递若干可选参数到事件监听器的参数表。语法:emitter.emit(event,[arg1],[arg2],[...])接收参数:event事件类型arg1~argN传递的参数(多


编辑:广州明生堂生物科技有限公司

标签:监听器,事件,方法,移除,参数