繁体   English   中英

匿名setTimeout函数

[英]anonymous setTimeout function

我处于等待几个事件发生的情况。 我看到了许多有关如何使用命名函数使用setTimeout的很好的示例,但是有没有一种方法可以使用某种匿名方法来进行超时?

该代码当前看起来像这样:

testForObject();

function testForObject() {
    if  ( typeof marksObjectName === 'object' )  {
           // blah blah
    } else {
       console.log('marksObjectName does not exist quite yet');
       setTimeout(function() { testForObject() }, 500 );
    }
}

所以我想知道是否有某种方法可以在setTimeout期间命名该函数并使用匿名方法代替,也许是这样的:

setTimeout(function() {
    if  ( typeof marksObjectName === 'object' )  {
           // blah blah
    } else {
       console.log('marksObjectName does not exist quite yet');
    }
}, 500);

显然这是行不通的,但这是我的第一个(也是唯一一个)猜测。

非常感谢大家。

您可以命名传递的函数,例如

setTimeout(function myFunction() {
    // ...
}, 500);

您可以按以下方式命名该函数。 请注意,您需要将其放置在else子句的另一个超时中:

 setTimeout(function timer() { if (typeof marksObjectName === 'object') { // blah blah } else { console.log('marksObjectName does not exist quite yet'); setTimeout(timer, 500); } }, 500); 

我相信hat setInterval是您想要的。

setInterval(function() { if ( typeof marksObjectName === 'object' ) { // blah blah } else { console.log('marksObjectName does not exist quite yet'); } }, 500);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM