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.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事件模块
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的使用示例
前言 本文主要给大家介绍了关于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.removeAllListeners方法使用说明
方法说明: 移除所有监听器,如果指定event,则将移除指定事件的所有监听器. 语法: 复制代码 代码如下: emitter.removeAllListeners([event]) 接收参数: event 事件类型,支持多个 例子: 复制代码 代码如下: //移除所有监听器 emitter.removeAllListeners() //移除指定event的所有监听器 emitter.removeAllListeners('data') 源码: 复制代码 代码如下: E
-
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);
随机推荐
- Angular实现跨域(搜索框的下拉列表)
- JSON字符串转换JSONObject和JSONArray的方法
- MultiProxy 使用图文教程手册
- 详解ASP.NET Core 网站发布到Linux服务器
- Android系列之Intent传递对象的几种实例方法
- mysql5.7.13.zip安装教程(windows)
- windows环境下Mysql中文乱码问题解决方法
- js实现兼容性好的微软官网导航下拉菜单效果
- AjaxSubmit()提交file文件
- JavaScript+html5 canvas实现本地截图教程
- jQuery Validate表单验证深入学习
- 关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
- 命令提示符编译java的方法(必看篇)
- 基于Maven的pom.xml文件详解
- TextView实现图文混合编排的方法
- php桌面中心(四) 数据显示
- Android实现动态自动匹配输入内容功能
- vue一个页面实现音乐播放器的示例
- 小程序和web画三角形实现解析
- 利用数组实现栈(Java实现)