【发布时间】:2022-01-21 21:14:31
【问题描述】:
我已经搜索过x.on(); x.emit(); x.addListener()是什么,它是一个nodejs api,EventEmitter。
我已经写了一些代码:
const EventEmitter = require("node:events");
class Client extends EventEmitter {
constructor(option) {
super();
this.option = option;
}
async login(TOKEN = this.option.token) {
if (!TOKEN) throw new Error("No Token");
try {
...
this._emit();
} catch (e) {
throw e;
}
}
_emit() {
this.emit("message", {someObject: someThings})
}
}
const bot = new Client(...);
// some handler function
bot.on("message", handler);
bot.login(token);
但事实上,它只运行一次bot.on("message", ...args),所以,我在某个地方添加了一些代码:setInterval,是的,它工作!运行bot.on("message")后就变成了,不会退出程序!那么有什么pkg或者code,让我来做这些?
- 当REST API有新信息时,希望能知道并获取API(使用axios之类的)
- 希望他能专注于一些API,这样当我API的内容发生变化时,他会知道并做出一些动作。
- 我知道有一个最愚蠢的方法是,我创建一个带间隔的变量缓存,如果API等于那个变量缓存,忽略,但我希望不是这个函数,这会给pkg用户带来一些负担电脑。
【问题讨论】:
标签: javascript node.js rest bots eventemitter