有人可以解释为什么以下代码无效:
我有一个EventManager类:
const events = require('events')
class EventManager extends events.EventEmitter {
constructor() { super() }
}
const instance = new EventManager()
module.exports = instance
我有一个init.js文件,需要这个EventManager并注册一些这样的事件:
const EventManager = require('./EventManager')
const processTask = require('./processTask')
EventManager.on('startTask', (task) => {
processTask(task)
})
EventManager.on('endTask', (task) => {
//some code
})
const someTask = {}
EventManager.emit('startTask', someTask)
在我的processTask函数中,我调用EventManager并发出endTask事件:
// processTask.js
const EventManager = require('../lib/EventManager')
module.exports = (task) => {
// some code
EventManager.emit('endTask')
}
但是从不发出endTask,为什么?
答案 0 :(得分:1)
这是一些代码中的问题。 thx @Bergi和@poeticGeek。