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

方法说明:

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

时间: 2024-09-20 16:53:40

node.js中的events.emitter.removeAllListeners方法使用说明_node.js的相关文章

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

方法说明: 为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器. 语法: 复制代码 代码如下: emitter.once(event, listener) 接收参数: event            (string)             事件类型 listener         (function)         触发事件时的回调函数 例子: 复制代码 代码如下: server.once('connection', function (stream)

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

方法说明: 移除指定事件的某个监听器. 语法: 复制代码 代码如下: emitter.removeListener(event, listener) 接收参数: event            (string)             事件类型 listener         (function)        已注册过的监听器 例子: 复制代码 代码如下: var callback = function(stream) {   console.log('someone connected!

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

方法说明: 注册了指定event的所有监听器将被作为数组返回. 语法: 复制代码 代码如下: emitter.listeners(event) 接收参数: event    指定事件 例子: 复制代码 代码如下: server.on('connection', function (stream) {   console.log('someone connected!'); }); console.log(util.inspect(server.listeners('connection')));

node.js中的events.EventEmitter.listenerCount方法使用说明_node.js

方法说明: 返回注册了指定事件的监听器数量. 语法: 复制代码 代码如下: EventEmitter.listenerCount(emitter, event) 接收参数: emitter             事件发射器 event                事件 例子: 复制代码 代码如下: if(events.EventEmitter.listenerCount(this, 'feedback') == 0) {     //.... } 源码: 复制代码 代码如下: EventEm

node.js中的http.response.end方法使用说明_node.js

方法说明: 结束响应,告诉客户端所有消息已经发送.当所有要返回的内容发送完毕时,该函数必须被调用一次. 如何不调用该函数,客户端将永远处于等待状态. 语法: 复制代码 代码如下: response.end([data], [encoding]) 接收参数: data                           end()执行完毕后要输出的字符,如果指定了 data 的值,那就意味着在执行完 response.end() 之后,会接着执行一条 response.write(data , e

node.js中的http.response.addTrailers方法使用说明_node.js

方法说明: 该棒法用来将HTTP trailing响应头添加到消息尾部. 语法: 复制代码 代码如下: response.addTrailers(headers) 接收参数: headers          响应头信息 例子: 复制代码 代码如下: response.writeHead(200, { 'Content-Type': 'text/plain',   'Trailer': 'Content-MD5' }); response.write(fileData); response.ad

node.js中的http.response.getHeader方法使用说明_node.js

方法说明: 读取已经列队但尚未发送给客户端的头信息. 语法: 复制代码 代码如下: response.getHeader(name) 接收参数: name          响应头的类型,注意这个名字是不区分大小写. 例子: 复制代码 代码如下: var contentType = response.getHeader('content-type');

node.js中的http.response.setHeader方法使用说明_node.js

方法说明: 设置头文件信息. 如果将要发送的信息已包含头文件,执行该方法后头文件的值将被改写. 如果一个头文件需要传递多个值,可以使用数组. 语法: 复制代码 代码如下: response.setHeader(name, value) 接收参数: name          响应头的类型,注意这个名字是不区分大小写. value           响应头的值 例子: 复制代码 代码如下: response.setHeader("Content-Type", "text/ht

node.js中的http.response.removeHeader方法使用说明_node.js

方法说明: 移除等待隐式发送的头. 语法: 复制代码 代码如下: response.removeHeader(name) 接收参数: name            响应头的类型,注意这个名字是不区分大小写. 例子: 复制代码 代码如下: response.removeHeader("Content-Encoding");