Javascript Discord JS clearTimeout未重置setTimeout

Javascript Discord JS clearTimeout未重置setTimeout,javascript,discord,discord.js,cleartimeout,Javascript,Discord,Discord.js,Cleartimeout,我没有按计划工作。如果我跳过歌曲或停止队列,计时器将继续,但不会用clearTimeout重置 function play(guild, song) { const serverQueue = queue.get(guild.id); if (!song) { clearTimeout(timeoutID); timeoutID = null; var timeoutID = setTimeout(function() {serverQueue.voiceCha

我没有按计划工作。如果我跳过歌曲或停止队列,计时器将继续,但不会用clearTimeout重置

function play(guild, song) {

  const serverQueue = queue.get(guild.id);
  if (!song) {
  
   clearTimeout(timeoutID);
   timeoutID = null;
   var timeoutID = setTimeout(function() {serverQueue.voiceChannel.leave();}, 10000);
   

   queue.delete(guild.id);
   return;

}
      options = {
  quality: 'highestaudio'
};


  const dispatcher = serverQueue.connection
    .play(ytdl(song.url), { quality: 'highestaudio'})
    .on("finish", () => {
      serverQueue.songs.shift();
      play(guild, serverQueue.songs[0]);
    })
    .on("error", error => console.error(error));
  dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
  serverQueue.textChannel.send(":musical_note: Started Playing: " + `**${song.title}**`);

}

您正在访问引用之前的
timeoutID
,我尝试在timeoutID之后放置clearTimeout,但当我再次跳过或停止一首歌曲时,计时器不会再次启动,并且bot会停留在服务器上,不会断开连接