我有一种情况,我在等待一些事件发生。我看到很多关于如何使用命名函数使用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);
显然这不起作用,但这是我的第一次(也是唯一的)猜测。
非常感谢你们。
答案 0 :(得分:1)
您可以为传递的函数命名,例如
setTimeout(function myFunction() {
// ...
}, 500);
答案 1 :(得分:1)
您可以按如下方式命名该功能。请注意,您需要将其置于else
子句中的另一个超时内:
setTimeout(function timer() {
if (typeof marksObjectName === 'object') {
// blah blah
} else {
console.log('marksObjectName does not exist quite yet');
setTimeout(timer, 500);
}
}, 500);
答案 2 :(得分:0)
我相信帽子setInterval
正是你要找的。 p>
setInterval(function() {
if ( typeof marksObjectName === 'object' ) {
// blah blah
} else {
console.log('marksObjectName does not exist quite yet');
}
}, 500);