setInterval()变量更改错误



问题是当我第一次使用这个函数时它的工作很好(间隔时间很好),第二次也是,但第三次它不工作,因为计时器是第二次的计时器,但变量计时器已经改变。

希望有人知道怎么修理它。

function SetTimer()
{
    clearInterval(AutoMsgTimer);
    Timer = prompt("[AutoMsg] Timer de l'auto-messages en secondes :");
    TimerSec = Timer;
    Timer = Timer*1000;
    var AutoMsgTimer = setInterval(
        function AutoMsg()
        {
            if(AutoMsgStatus == true)
            {
                API.sendChat("/me " + AutoMsgText);
            }
        }
    , Timer);
}

对不起,我是法国人。

这样做,而不是每次调用SetTimer()时重新声明变量

var AutoMsgTimer = SetTimer();  //Make sure you call the SetTimer this way, store the return value...
function SetTimer() {
  if (AutoMsgTimer ){
    clearInterval(AutoMsgTimer);
  }
  Timer = prompt("[AutoMsg] Timer de l'auto-messages en secondes :");
  TimerSec = Timer;
  Timer = Timer*1000;
  var interval = setInterval(
    function()   {
      if(AutoMsgStatus == true)
      {
        API.sendChat("/me " + AutoMsgText);
      }
  }, Timer);
 return interval;
}

相关内容

  • 没有找到相关文章

最新更新