Javascript-使用布尔值设置超时

Javascript- settimeout using boolean

本文关键字:设置 超时 布尔值 Javascript-      更新时间:2023-09-26

我想要完成的是:

while(!bool){
    // do nothing, just wait until bool is true
}
// now go do subsequent code

在Javascript中,并且不使用while循环,因为它冻结了所有其他代码。然而,setTimeout似乎取决于是否给定了一个实际的时间值。我将如何实现这一目标?

继续调用setTimeout,直到条件为true。

function doSubsequentCode() {
    // now go do subsequent code
}
function testForCondition() {
    if (bool) {
        doSubsequentCode();
    } else {
        setTimeout(testForCondition, 1000);
    }
}
testForCondition();

根据您对问题的评论:

我有一个监听UDP数据包的回调,它会在某个时刻将布尔值设置为true。

根本不要使用setTimeout。根本不要使用bool。只需将doSubsequentCode();放在回调函数中即可。这就是回调的作用。