1

我有

Myitem1.MyFunc();
Myitem2.MyFunc();

function MyFunc(){
  if (okToUpdate){
    //we weren't here from anywhere within the last 100 milliseconds
  }
}

不幸的是,okToUpdate变量不会立即更新,因此从上一次调用函数开始至少需要 100 毫秒才能获得正确的值。如何使 MyFunc 延迟执行?

4

4 回答 4

2
setTimeout(function(){
       Myitem1.MyFunc();
},100)

会成功的。如果你准确地解释你想要什么,我可以给你准确的时序代码。

于 2013-06-20T11:12:23.827 回答
1

此代码可以帮助您

var clrTime=null;

MyFunc(){
    clrTime=setTimeout(function(){
        if (okToUpdate){
            // your code to do 
        }
    },100);
}
于 2013-06-20T11:15:13.607 回答
1

使用回调或承诺将是干净的解决方案。不是通过超时实现的某种忙等待。

查看发布/订阅模式。

于 2013-06-20T11:22:07.623 回答
0

我会使用该setTimeout()功能。像这样的东西:

<script>
function myFunction() {
    setTimeout(function(){MyFunc()},100);
}
</script>

<body onload="myFunction()">
</body>

setTimeout() 方法

于 2013-06-20T11:23:19.610 回答