我有兩個類,我希望一個類可以訂閱另一個類。所以 這樣的事情。Node.js監聽併發送事件
類別之一:
while(1){ if(true){ //emmit some event }
類二:
//wait for class one to emmit some data ,and then start working with the data
我的問題是,有沒有什麼方法,模塊..這可以幫助我實現了這個行爲?
我有兩個類,我希望一個類可以訂閱另一個類。所以 這樣的事情。Node.js監聽併發送事件
類別之一:
while(1){ if(true){ //emmit some event }
類二:
//wait for class one to emmit some data ,and then start working with the data
我的問題是,有沒有什麼方法,模塊..這可以幫助我實現了這個行爲?
使用節點的內置EventEmitter在兩個客戶端實現發射和偵聽事件。
例子:
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
myEmitter.on('event',() => {
console.log('an event occurred!');
});
myEmitter.emit('event');
缺省類EventEmitter
會做你所要求的。
const myEmitter = new MyEmitter();
// Listen to event
myEmitter.on('event', (data) => {
console.log(data);
});
// Emit event
myEmitter.emit('event', data);
什麼問題? – tbking
我想你實際上指的是線程不是類,類是對象模板,node.js是單線程的,它是異步的,所以你可以創建你想要的功能,但不是在這樣的while循環中,你必須釋放執行回到節點或節點的異步部分不能工作。 – SPlatten
@tbking編輯我的帖子,對不起 – DavidS