searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Node.js 事件派发器

2023-07-10 03:46:27
6
0

在 Node.js 中,事件派发器用于实现异步事件的发布和订阅。Node.js 的核心模块 `events` 提供了一个 `EventEmitter` 类,用于创建和管理事件。

比如:

首先,需要引入 `events` 模块并创建一个 `EventEmitter` 实例:

```javascript
const EventEmitter = require('events');
const eventEmitter = new EventEmitter();
```

然后,可以通过 `on` 方法来注册事件监听器(订阅事件):

```javascript
eventEmitter.on('eventName', (arg1, arg2) => {
  // 处理事件逻辑
});
```

其中,`eventName` 是事件名称,`(arg1, arg2)` 是当事件触发时传递给监听器的参数。

接下来,可以使用 `emit` 方法来触发事件(发布事件):

```javascript
eventEmitter.emit('eventName', arg1, arg2);
```

这样就会触发名为 `eventName` 的事件,并且将 `arg1` 和 `arg2` 作为参数传递给对应的事件监听器。

事件监听器可以根据需要注册多个,它们会按照注册的顺序依次执行。

除了 `on` 和 `emit` 方法外,还有其他一些常用的方法,如:

- `once`: 注册只触发一次的事件监听器。
- `removeListener`: 移除指定事件的监听器。
- `removeAllListeners`: 移除所有事件的监听器。
- `setMaxListeners`: 设置最大监听器数量。

下面是一个完整的示例,演示了如何使用事件派发器进行异步事件的发布和订阅:

```javascript
const EventEmitter = require('events');
const eventEmitter = new EventEmitter();

// 注册事件监听器
eventEmitter.on('myEvent', (arg1, arg2) => {
  console.log('事件触发:', arg1, arg2);
});

// 触发事件
eventEmitter.emit('myEvent', '参数1', '参数2');
```

当运行这段代码时,会输出事件触发的信息。

我们可以根据具体的业务场景,灵活运用事件派发器来实现异步事件的处理和消息传递。

0条评论
作者已关闭评论
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
t****m
98文章数
1粉丝数
t****m
98 文章 | 1 粉丝
原创

Node.js 事件派发器

2023-07-10 03:46:27
6
0

在 Node.js 中,事件派发器用于实现异步事件的发布和订阅。Node.js 的核心模块 `events` 提供了一个 `EventEmitter` 类,用于创建和管理事件。

比如:

首先,需要引入 `events` 模块并创建一个 `EventEmitter` 实例:

```javascript
const EventEmitter = require('events');
const eventEmitter = new EventEmitter();
```

然后,可以通过 `on` 方法来注册事件监听器(订阅事件):

```javascript
eventEmitter.on('eventName', (arg1, arg2) => {
  // 处理事件逻辑
});
```

其中,`eventName` 是事件名称,`(arg1, arg2)` 是当事件触发时传递给监听器的参数。

接下来,可以使用 `emit` 方法来触发事件(发布事件):

```javascript
eventEmitter.emit('eventName', arg1, arg2);
```

这样就会触发名为 `eventName` 的事件,并且将 `arg1` 和 `arg2` 作为参数传递给对应的事件监听器。

事件监听器可以根据需要注册多个,它们会按照注册的顺序依次执行。

除了 `on` 和 `emit` 方法外,还有其他一些常用的方法,如:

- `once`: 注册只触发一次的事件监听器。
- `removeListener`: 移除指定事件的监听器。
- `removeAllListeners`: 移除所有事件的监听器。
- `setMaxListeners`: 设置最大监听器数量。

下面是一个完整的示例,演示了如何使用事件派发器进行异步事件的发布和订阅:

```javascript
const EventEmitter = require('events');
const eventEmitter = new EventEmitter();

// 注册事件监听器
eventEmitter.on('myEvent', (arg1, arg2) => {
  console.log('事件触发:', arg1, arg2);
});

// 触发事件
eventEmitter.emit('myEvent', '参数1', '参数2');
```

当运行这段代码时,会输出事件触发的信息。

我们可以根据具体的业务场景,灵活运用事件派发器来实现异步事件的处理和消息传递。

文章来自个人专栏
js
57 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0