gpt4 book ai didi

node.js - Emit 和 on - Node JS 在函数内的单独模块中

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:32 25 4
gpt4 key购买 nike

我有简单的模块 - logger.js:

var EventEmitter = require('events');
var emitter = new EventEmitter();

const log = (message) => {
emitter.emit('logging');
console.log('here')
}

module.exports.log= log;

我正在另一个文件中导入:

const EventEmitter = require('events');
const emitter = new EventEmitter();
emitter.on('logging', () => {
console.log('Logging:')
});

const logger = require('./logger');
logger.log(90);

,我看到 90 - 消息,但没有看到 console.log('Logging:'),这是为什么?

如果我将所有内容放入一个文件中,而不将 emit 包装在函数中,它就可以工作。

最佳答案

您创建的每个 EventEmitter 对象都是一个新实例,因此第一个实例触发的事件不会在第二个实例中触发。您需要使用相同的 EventEmitter 对象。

关于node.js - Emit 和 on - Node JS 在函数内的单独模块中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57173999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com