这是 app.js 文件;
Static Text
Package.json 文件。 (in)./ testApp /package.json;
SELECT s.*, u.*
FROM surveys s
LEFT JOIN survey_user_relation u
ON u.survey_id = s.id AND u.user_id = 2;
这是./testApp/ main.js 文件;
const MyTest = require('./testApp');
const App = new MyTest();
App.on('ready', () => {
console.log('Hello World');
});
如果在App.js文件中成功安装了“App”,我希望控制台编写“Hello World”。我已经改变了几次这个内容,因为我想要更简单。
我想在./testApp/main.js
的 app.js 中触发App.on如果我在构造函数中定义一个函数,我可以通过调用“App”来获取它。在这种情况下,此 = 应用
然后,为什么不发射任何东西?
注意:此应用文件在本地工作。
答案 0 :(得分:0)
emit
调用位于Client
的构造函数中,即调用时调用
const helper = new pulseHelper.Client();
但是,之后只注册ready
处理程序。 EventEmitters不会缓冲他们的活动;只有在emit
电话会议期间注册的听众才能对事件采取行动。
编辑:澄清我正在谈论的内容,请参阅此示例:
const EventEmitter = require('events');
class Client extends EventEmitter {
constructor() {
super();
this.emit('ready', 'I\'m Ready!');
}
boom() {
this.emit('ready', 'Boom!');
}
emit(event, payload) {
console.log('Emitting', event, ':', payload);
super.emit(event, payload);
}
}
const c = new Client();
c.on('ready', (payload) => console.log(payload));
c.boom();
打印(带注释):
# client constructed, it emits an event but no one is listening.
# however the "debug" emit() implementation prints this:
Emitting ready : I'm Ready!
# the listener has been registered, now let's call .boom()!
# the "debug" emit() implementation prints this:
Emitting ready : Boom!
# and the handler prints the following:
Boom!