Emits/Listeners
时间: 2024-05-25 20:08:20 浏览: 134
Vue Emits Slots Congratulations 语法示例演示代码
Emits/Listeners是指在软件开发中,通过事件触发器(emitter)和事件监听器(listener)实现模块之间的通信机制。在这种机制下,当事件触发器发生特定事件时,与其相对应的事件监听器会接收到该事件并执行相应的操作,实现了高度解耦和模块化。
下面是一个范例,展示了如何使用Node.js中的Emits/Listeners机制:
```javascript
// 创建一个事件触发器实例
const events = require('events');
const eventEmitter = new events.EventEmitter();
// 创建一个事件监听器函数
const listener1 = function listener1() {
console.log('监听器 listener1 执行。');
}
// 创建第二个事件监听器函数
const listener2 = function listener2() {
console.log('监听器 listener2 执行。');
}
// 绑定 connection 事件,处理函数为 listener1
eventEmitter.addListener('connection', listener1);
// 绑定 connection 事件,处理函数为 listener2
eventEmitter.on('connection', listener2);
// 触发 connection 事件
eventEmitter.emit('connection');
// 移除监听器1
eventEmitter.removeListener('connection', listener1);
console.log("listener1 不再受监听。");
// 触发连接事件
eventEmitter.emit('connection');
// 监听器 listener2 再次执行
console.log("程序执行完毕。");
```
上述代码创建了一个事件触发器实例 `eventEmitter`,并绑定了两个事件监听器函数 `listener1` 和 `listener2`。当 `eventEmitter` 实例触发 `connection` 事件时,这两个事件监听器函数都会被调用。之后,移除了 `listener1` 的监听,再次触发 `connection` 事件时,只有 `listener2` 被调用。
阅读全文