# 事件系统
Node.js 提供了使用 events 模块,用于事件操作,具体上,此模块提供了 EventEmiiter 类,用于处理事件。
该对象暴露了 on 和 emit 方法,其中 on 用于添加事件处理函数,emit 用于触发事件;
# 基本使用
const EventEmitter = require("events");
const eventEmitter = new EventEmitter();
eventEmitter.on("start", () => {
console.log("开始");
});
eventEmitter.emit("start");
# 传递事件参数
此外,也可以传递事件参数
eventEmitter.on("start", (number) => {
console.log(`开始${number}`);
});
eventEmitter.emit("start", 101);
eventEmitter.on("start", (start, end) => {
console.log(`开始${start},${end}`);
});
eventEmitter.emit("start", 1, 2);
eventEmitter.on("start", (event) => {
console.log(`开始 a:${event.a} b:${event.b}`);
});
eventEmitter.emit("start", {
a: 1,
b: 2
});
// 开始 a: 1 b: 2;
# 补充
其他方法
- once() 添加单次监听器
- removeListenner() / off() 从事件中移除事件监听器
- removeAllListeners() 移除事件的所有监听器