node.js中的events.emitter.once方法使用说明
方法说明:
为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器。
语法:
emitter.once(event, listener)
接收参数:
event (string) 事件类型
listener (function) 触发事件时的回调函数
例子:
server.once('connection', function (stream) {
console.log('Ah, we have our first user!');
});
源码:
EventEmitter.prototype.once = function(type, listener) {
if (!util.isFunction(listener))
throw TypeError('listener must be a function');
function g() {
this.removeListener(type, g);
listener.apply(this, arguments);
}
g.listener = listener;
this.on(type, g);
return this;
};
相关推荐
-
详解Node.js:events事件模块
Nodejs的大部分核心API都是基于异步事件驱动设计的,所有可以分发事件的对象都是EventEmitter类的实例. 大家知道,由于nodejs是单线程运行的,所以nodejs需要借助事件轮询,不断去查询事件队列中的事件消息,然后执行该事件对应的回调函数,有点类似windows的消息映射机制.至于更细的实现环节,可以另行查找资料. 下面介绍EventEmitter的使用. 1.监听事件和分发事件 EventEmitter实例可以使用on或addListener监听事件,emit()方法分发事件
-
node.js中的events.emitter.removeListener方法使用说明
方法说明: 移除指定事件的某个监听器. 语法: 复制代码 代码如下: emitter.removeListener(event, listener) 接收参数: event (string) 事件类型 listener (function) 已注册过的监听器 例子: 复制代码 代码如下: var callback = function(stream) { console.log('someone connected!
-
node.js中的events.emitter.removeAllListeners方法使用说明
方法说明: 移除所有监听器,如果指定event,则将移除指定事件的所有监听器. 语法: 复制代码 代码如下: emitter.removeAllListeners([event]) 接收参数: event 事件类型,支持多个 例子: 复制代码 代码如下: //移除所有监听器 emitter.removeAllListeners() //移除指定event的所有监听器 emitter.removeAllListeners('data') 源码: 复制代码 代码如下: E
-
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的使用示例
前言 本文主要给大家介绍了关于node.js事件模块Events使用的一些示例,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 环境:Node v8.2.1; Npm v5.3.0; OS Windows10 1. Node事件介绍 Node大多数核心 API 都采用惯用的异步事件驱动架构,其中某些类型的对象(触发器)会周期性地触发命名事件来调用函数对象(监听器). 所有能触发事件的对象都是 EventEmitter 类的实例. 这些对象开放了一个 eventEmitter.o
-
node.js中的events.EventEmitter.listenerCount方法使用说明
方法说明: 返回注册了指定事件的监听器数量. 语法: 复制代码 代码如下: EventEmitter.listenerCount(emitter, event) 接收参数: emitter 事件发射器 event 事件 例子: 复制代码 代码如下: if(events.EventEmitter.listenerCount(this, 'feedback') == 0) { //.... } 源码: 复制代码 代码如下: EventEm
-
关于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.once方法使用说明
方法说明: 为指定事件注册一个 单次 监听器,所以监听器至多只会触发一次,触发后立即解除该监听器. 语法: 复制代码 代码如下: emitter.once(event, listener) 接收参数: event (string) 事件类型 listener (function) 触发事件时的回调函数 例子: 复制代码 代码如下: server.once('connection', function (stream)
-
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);
随机推荐
- 浅谈jsp文件和HTML互相引入的乱码问题
- jQuery实现图片渐入渐出切换展示效果
- 超全面的vue.js使用总结
- 整理Oracle数据库中数据查询优化的一些关键点
- 阿里云上从ASP.NET线程角度对“黑色30秒”问题的全新分析
- 详解Swift中的数据类型类型转换
- Javascript 修改String 对象 增加去除空格功能(示例代码)
- 在ASP.NET 2.0中操作数据之十九:给编辑和新增界面增加验证控件
- 解决中英文字符串长度问题函数
- PHP个人网站架设连环讲(三)
- c语言调用汇编的方法
- Android ActionBar完全解析使用官方推荐的最佳导航栏(下)
- mysql 常用设置 字符集编码、自动完成(自动提示)、监听外网ip
- 编辑器中designMode和contentEditable的属性的介绍
- PowerShell中使用Get-Alias命令获取cmdlet别名例子
- js传中文参数controller里获取参数乱码问题解决方法
- iwms access与sql版的安装与转换
- javascript面向对象之定义成员方法实例分析
- C#自定义事件监听实现方法
- 详解Android中Service服务的基础知识及编写方法