实现一个nodejs Eventsoures写的消息传输接口并给出代码
以下是一个基于Node.js Events的简单消息传输接口:
const EventEmitter = require('events');
class MessageBus extends EventEmitter {
constructor() {
super();
this.messages = [];
}
send(message) {
this.messages.push(message);
this.emit('message', message);
}
getMessages() {
return this.messages;
}
}
const bus = new MessageBus();
bus.on('message', (message) => {
console.log(`Received message: ${message}`);
});
bus.send('Hello, World!');
console.log(bus.getMessages()); // ['Hello, World!']
在这个例子中,我们创建了一个名为MessageBus的类,它扩展了EventEmitter,并实现了send和getMessages方法。当我们调用send方法时,它将消息添加到内部消息数组,并触发message事件,以便其他监听器可以处理该消息。在此示例中,我们添加了一个简单的console.log语句以记录每个接收到的消息。getMessages方法只是返回内部消息数组的副本,以便我们可以查看先前发送的所有消息。
要使用此消息总线,我们可以创建一个实例并添加任意数量的消息监听器,如上所示。在此示例中,我们添加了一个简单的console.log语句以记录每个接收到的消息,并使用getMessages方法查看我们发送的所有消息。
原文地址: https://www.cveoy.top/t/topic/bchw 著作权归作者所有。请勿转载和采集!