如何在 nodejs express 中获取发射器 运行?
How to get emitter running in nodejs express?
我有这样的代码:
import EventEmitter from 'events'
const server = express();
server.get('/view', async function (req, res) {
const emitter = new EventEmitter()
emitter.emit('done')
emitter.on('done', () => {
console.log('testing is running')
})
})
但是在 运行 上我根本没有得到 'testing is running'
。
如何让发射器与 express 一起工作?
您在安装事件处理程序之前发出事件,因此您错过了事件。
更改顺序:
import EventEmitter from 'events'
const app = express();
app.get('/view', async function (req, res) {
const emitter = new EventEmitter()
emitter.on('done', () => {
console.log('testing is running');
})
emitter.emit('done');
});
EventEmitter 事件是同步处理的,因此您必须在事件发生之前安装任何侦听器,否则您将错过该事件。
您也可以在这个独立程序中尝试:
import EventEmitter from 'events'
const emitter = new EventEmitter()
emitter.on('done', () => {
console.log('testing is running');
})
emitter.emit('done');
我有这样的代码:
import EventEmitter from 'events'
const server = express();
server.get('/view', async function (req, res) {
const emitter = new EventEmitter()
emitter.emit('done')
emitter.on('done', () => {
console.log('testing is running')
})
})
但是在 运行 上我根本没有得到 'testing is running'
。
如何让发射器与 express 一起工作?
您在安装事件处理程序之前发出事件,因此您错过了事件。
更改顺序:
import EventEmitter from 'events'
const app = express();
app.get('/view', async function (req, res) {
const emitter = new EventEmitter()
emitter.on('done', () => {
console.log('testing is running');
})
emitter.emit('done');
});
EventEmitter 事件是同步处理的,因此您必须在事件发生之前安装任何侦听器,否则您将错过该事件。
您也可以在这个独立程序中尝试:
import EventEmitter from 'events'
const emitter = new EventEmitter()
emitter.on('done', () => {
console.log('testing is running');
})
emitter.emit('done');