提问人:bouncytorch 提问时间:4/29/2023 最后编辑:bouncytorch 更新时间:5/17/2023 访问量:65
在 Node.js 模块中向 JavaScript 类添加“事件”的最紧凑方法是什么?(在 ES6 及更高版本的环境中。
What's the most compact way to add "events" to a JavaScript class in a Node.js module? (in ES6 and above env.)
问:
一直在寻找处理类中事件的通用方法。确切地说,我正在制作一个 node.js 模块,我希望能够为某些事件添加多个回调。比如说,我的来源看起来像这样:
class Example {
constructor(...args) {
// ...
}
doSomething(earg) {
setTimeout(() => {
// I want an event call here.
// this.callEvent(eargs) or something like that, to pass
// down arguments to callbacks.
}, 3000);
}
on(event, callback, watch) {
// ...
}
once(event, callback, watch) {
// ...
}
}
const example = new Example();
example.on('doSomethingEnd', (earg) => console.log(':P', earg));
在 ES6 及更高版本的环境中实现 s 和 s 的最紧凑和最现代的方法是什么,以及如何为此进行“代码编辑器自动填充”?(适用于 Atom 或 VSCode 等编辑器,或任何其他具有语法提示的编辑器)。.on
.once
答:
0赞
bouncytorch
5/17/2023
#1
解决了它,Node 有一个内置的类(道具@Bergi):
const { EventEmitter } = require('events');
class Example extends EventEmitter {
constructor(...args) {
// ...
}
doSomething(earg) {
setTimeout(() => {
this.emit('<example>', 'arg0')
}, 3000);
}
}
const example = new Example();
example.on('<example>', (earg) => { /* ... */ });
评论
1赞
robertklep
5/17/2023
之前的答案被删除了,因为它是 ChatGPT 生成的,这是不允许的。
评论
node.js