node.js中的events.emitter.removeAllListeners方法使用说明
方法说明:
移除所有监听器,如果指定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事件模块
Nodejs的大部分核心API都是基于异步事件驱动设计的,所有可以分发事件的对象都是EventEmitter类的实例. 大家知道,由于nodejs是单线程运行的,所以nodejs需要借助事件轮询,不断去查询事件队列中的事件消息,然后执行该事件对应的回调函数,有点类似windows的消息映射机制.至于更细的实现环节,可以另行查找资料. 下面介绍EventEmitter的使用. 1.监听事件和分发事件 EventEmitter实例可以使用on或addListener监听事件,emit()方法分发事件
-
node.js学习之事件模块Events的使用示例
前言 本文主要给大家介绍了关于node.js事件模块Events使用的一些示例,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 环境:Node v8.2.1; Npm v5.3.0; OS Windows10 1. Node事件介绍 Node大多数核心 API 都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器). 所有能触发事件的对象都是 EventEmitter 类的实例. 这些对象开放了一个 eventEmitter.o
-
node.js中的events.emitter.listeners方法使用说明
方法说明: 注册了指定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方法使用说明
方法说明: 返回注册了指定事件的监听器数量. 语法: 复制代码 代码如下: EventEmitter.listenerCount(emitter, event) 接收参数: emitter 事件发射器 event 事件 例子: 复制代码 代码如下: if(events.EventEmitter.listenerCount(this, 'feedback') == 0) { //.... } 源码: 复制代码 代码如下: EventEm
-
node.js中的events.emitter.once方法使用说明
方法说明: 为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器. 语法: 复制代码 代码如下: emitter.once(event, listener) 接收参数: event (string) 事件类型 listener (function) 触发事件时的回调函数 例子: 复制代码 代码如下: server.once('connection', function (stream)
-
node.js中的events.emitter.removeListener方法使用说明
方法说明: 移除指定事件的某个监听器. 语法: 复制代码 代码如下: emitter.removeListener(event, listener) 接收参数: event (string) 事件类型 listener (function) 已注册过的监听器 例子: 复制代码 代码如下: var callback = function(stream) { console.log('someone connected!
-
关于Node.js的events.EventEmitter用法介绍
Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列. Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在文件被打开的时候发出一个事件. 所有这些产生事件的对象都是 events.EventEmitter 的实例. EventEmitter 类 events 模块只提供了一个对象: events.EventEmitter.EventEmitter 的核心就是事件触发与事件监听器功能的
-
node.js中的events.emitter.removeAllListeners方法使用说明
方法说明: 移除所有监听器,如果指定event,则将移除指定事件的所有监听器. 语法: 复制代码 代码如下: emitter.removeAllListeners([event]) 接收参数: event 事件类型,支持多个 例子: 复制代码 代码如下: //移除所有监听器 emitter.removeAllListeners() //移除指定event的所有监听器 emitter.removeAllListeners('data') 源码: 复制代码 代码如下: E
-
node.js中的http.response.end方法使用说明
方法说明: 结束响应,告诉客户端所有消息已经发送.当所有要返回的内容发送完毕时,该函数必须被调用一次. 如何不调用该函数,客户端将永远处于等待状态. 语法: 复制代码 代码如下: response.end([data], [encoding]) 接收参数: data end()执行完毕后要输出的字符,如果指定了 data 的值,那就意味着在执行完 response.end() 之后,会接着执行一条 response.write(data , e
-
node.js中的http.response.write方法使用说明
方法说明: 向请求的客户端发送响应内容. 在 response.end() 之前,response.write() 可以被执行多次. 语法: 复制代码 代码如下: response.write(chunk, [encoding]) 参数: chunk 是一个buffer 或 字符串,表示发送的内容 encoding 如果chunk是字符串,就需要指定encoding来说明它的编码方式,默认utf-8 例子: 复制代码 代码如
-
node.js中的http.response.getHeader方法使用说明
方法说明: 读取已经列队但尚未发送给客户端的头信息. 语法: 复制代码 代码如下: response.getHeader(name) 接收参数: name 响应头的类型,注意这个名字是不区分大小写. 例子: 复制代码 代码如下: var contentType = response.getHeader('content-type');
-
node.js中的buffer.Buffer.isEncoding方法使用说明
方法说明: 检测是否为有效的编码参数,返回true 或 false. 语法: 复制代码 代码如下: Buffer.isEncoding(encoding) 接收参数: encoding {String} 被检测的编码格式 例子: 复制代码 代码如下: var a = Buffer.isEncoding('base64'); console.log(a); 源码: 复制代码 代码如下: Buffer.isEncoding = function(encoding) { switch ((
-
node.js中的buffer.Buffer.isBuffer方法使用说明
方法说明: 检测目标是否为buffer对象.将返回true 或 false. 语法: 复制代码 代码如下: Buffer.isBuffer(obj) 接收参数: obj 被检测的对象. 例子: 复制代码 代码如下: var b = new Buffer(50); var c = b.toString('base64',0,10); var d = Buffer.isEncoding('base64'); var e = Buffer.isBuffer(b);
随机推荐
- RLCSS分词系统更新下载
- Javascript实现真实字符串剩余字数提示的实例代码
- Javascript中arguments和arguments.callee的区别浅析
- Javascript在IE和Firefox浏览器常见兼容性问题总结
- nginx proxy_pass反向代理配置中url后加不加/的区别介绍
- MySQL使用临时表加速查询的方法
- Zend Framework入门教程之Zend_Session会话操作详解
- PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
- PHP实现HTTP断点续传的方法
- JS对字符串编码的几种方式使用指南
- iframe 父窗口和子窗口相互的调用方法集锦
- ADO.NET中的五个主要对象的详细介绍与应用
- 浅谈addEventListener和attachEvent的区别
- C#中 const 和 readonly 的不同
- Android 监听手机GPS打开状态实现代码
- JSP实现带查询条件的通用分页组件
- python实现大文件分割与合并
- 使用PYTHON解析Wireshark的PCAP文件方法
- python对常见数据类型的遍历解析
- vue 设置 input 为不可以编辑的实现方法