位置:电子教程 > Node.js在线教程 (如果看不到内容请使用360浏览器) 推荐学习资源
Node概要
Node.js 安装配置
安装开发工具vscode和配置汉化
Node.js 创建第一个应用
NPM 使用介绍
Node.js REPL(交互式解释器)
Node.js 回调函数
Node.js 事件循环
Node.js EventEmitter
Node.js Stream(流)
Node.js模块系统
Node.js 全局对象
console
Node.js 函数
Node.js 路由
Node.js 常用工具
Node.js GET/POST请求
当前阅读教程:Node.js在线教程 > 方法、类方法、事件
阅读(22555525)      收藏       赞(5685)      分享
上一篇: 多事件监听 下一篇: error 事件、继承 EventEmitter

方法

方法 & 描述

1

addListener(event,   listener)
 
为指定事件添加一个监听器到监听器数组的尾部。

2

on(event,   listener)
 
为指定事件注册一个监听器,接受一个字符串 event 和一个回调函数。

server.on('connection', function (stream) {

  console.log('someone connected!');

});

3

once(event,   listener)
 
为指定事件注册一个单次监听器,即 监听器最多只会触发一次,触发后立刻解除该监听器。

server.once('connection', function (stream) {

  console.log('Ah, we have our first user!');

});

4

removeListener(event,   listener)
 
 

移除指定事件的某个监听器,监听器必须是该事件已经注册过的监听器。

它接受两个参数,第一个是事件名称,第二个是回调函数名称。

var callback = function(stream) {

  console.log('someone connected!');

};

server.on('connection', callback);

//   ...

server.removeListener('connection', callback);

5

removeAllListeners([event])
 
移除所有事件的所有监听器, 如果指定事件,则移除指定事件的所有监听器。

6

setMaxListeners(n)
 
默认情况下,   EventEmitters 如果你添加的监听器超过 10 个就会输出警告信息。 setMaxListeners 函数用于提高监听器的默认限制的数量。

7

listeners(event)
 
返回指定事件的监听器数组。

8

emit(event,   [arg1], [arg2], [...])
 
按监听器的顺序执行执行每个监听器,如果事件有注册监听返回 true,否则返回 false。

 

类方法

序号

方法 & 描述

1

listenerCount(emitter,   event)
 
返回指定事件的监听器数量。

使用

events.EventEmitter.listenerCount(emitter, eventName) //已废弃,不推荐

events.emitter.listenerCount(eventName) //推荐

事件

序号

事件 & 描述

1

newListener

Ø  event - 字符串,事件名称

Ø  listener - 处理事件函数

该事件在添加新监听器时被触发。

2

removeListener

Ø  event - 字符串,事件名称

Ø  listener - 处理事件函数

从指定监听器数组中删除一个监听器。需要注意的是,此操作将会改变处于被删监听器之后的那些监听器的索引。

 

实例

以下实例通过 connection(连接)事件演示了 EventEmitter 类的应用。

创建event5.js 文件,代码如下:

var events = require('events');
var eventEmitter = new events.EventEmitter();
 
// 监听器 #1
var listener1 = function listener1() {
   console.log('监听器 listener1 执行。');
}
 
// 监听器 #2
var listener2 = function listener2() {
  console.log('监听器 listener2 执行。');
}
 
// 绑定 connection 事件,处理函数为 listener1
eventEmitter.addListener('connection', listener1);
 
// 绑定 connection 事件,处理函数为 listener2
eventEmitter.on('connection', listener2);
 
var eventListeners = eventEmitter.listenerCount('connection');
console.log(eventListeners + " 个监听器监听连接事件。");
 
// 处理 connection 事件 
eventEmitter.emit('connection');
 
// 移除监绑定的 listener1 函数
eventEmitter.removeListener('connection', listener1);
console.log("listener1 不再受监听。");
 
// 触发连接事件
eventEmitter.emit('connection');
 
eventListeners = eventEmitter.listenerCount('connection');
console.log(eventListeners + " 个监听器监听连接事件。");
 
console.log("程序执行完毕。");

以上代码,执行结果如下所示:

node event5.js

 

2 个监听器监听连接事件。

监听器 listener1 执行。

监听器 listener2 执行。

listener1 不再受监听。

监听器 listener2 执行。

1 个监听器监听连接事件。

程序执行完毕。

 


上一篇: 多事件监听 下一篇: error 事件、继承 EventEmitter
计算机毕业设计作品网      毕业设计文档网      小程序教程网       毕业设计资料网  |         毕业设计定制QQ:45157718(微信同号)(备注:毕设)