JavaScript setTimeOut 函数不工作

JavaScript setTimeOut function not working

我有如下JS代码

$(document).ready(function(){
  update_items();
  adjust_size_of_menu();
});

var adjust_size_of_menu = function() {
  // global boolean set in update_items_count();
  if ( !items_updated ) 
  {
     alert("Treatment of update_items() not done yet");
     setTimeOut( function(){ adjust_size_of_menu(); }, 1000);
  }
  // More treatment goes here 
}

如您所见,我在第一个函数中设置了一个变量。在我继续执行第二个函数中的其余指令之前,该变量必须是 true

这里的问题是,我第一次进入 adjust_size_of_menu() 时,它向我显示警报,这很好。之后,它应该等待 1 秒,然后从头开始重新执行 adjust_size_of_menu(),直到 item_updated 布尔值是 true,然后我们继续剩下的代码。

这段代码有什么问题?我已经在其他地方使用了相同的方法并且工作得很好。

setTimeOut 不是 javascript 中的内置函数。如果您在其他地方使用过它,那是因为您或其他人声明了它。正确的拼写是setTimeout。注意小写 "o".

https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout

javascript 是区分大小写的语言,应该是 setTimeout()