所以我正在尝试为 Discord 制作一个实时控制台,这样我就可以在离开计算机时看到错误。我试图做到这一点,以便每次监听器接收数据时,它都会清除以前的超时并创建一个新超时,这样就不会因为x监听器被调用多次而x发送相同的东西。现在我遇到了问题。我可以清除超时但不能清除其中的事件。child.stdout.on("data", (data) => { stdout = stdout + data.toString(); clearTimeout(timeout); timeout = setTimeout(() => { message.channel.send([stdout], { code: true, split: true }); })});所以这段代码最终仍然发送了x很多次。我将如何取消内部事件来解决这个问题?编辑:我的愚蠢错误。我在清理代码时不小心删除了超时。下面的代码解决了一切。child.stdout.on("data", (data) => { stdout = stdout + data.toString(); clearTimeout(timeout); timeout = setTimeout(() => { message.channel.send([stdout], { code: true, split: true }); }, 3000)});
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
我的愚蠢错误。我在清理代码时不小心删除了超时。下面的代码解决了一切。
child.stdout.on("data", (data) => {
stdout = stdout + data.toString();
clearTimeout(timeout);
timeout = setTimeout(() => {
message.channel.send([stdout], {
code: true,
split: true
});
}, 3000)
});
添加回答
举报
0/150
提交
取消