所以我正在嘗試為 Discord 制作一個實時控制臺,這樣我就可以在離開計算機時看到錯誤。我試圖做到這一點,以便每次監聽器接收數據時,它都會清除以前的超時并創建一個新超時,這樣就不會因為x監聽器被調用多次而x發送相同的東西?,F在我遇到了問題。我可以清除超時但不能清除其中的事件。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)});
在 Javascript 中清除超時后,如何取消 setTimeout() 中的事件
大話西游666
2023-02-24 16:53:58