gpt4 book ai didi

JavaScript:暂停函数并等待全局变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:13 25 4
gpt4 key购买 nike

有一个全局变量window.listNodes,它是一个数组。该变量每 3 秒刷新一次,并按顺序填充。

另一个函数 onOpen() 由用户触发,需要全局变量 window.listNodes 包含 3 个元素,不少于此。我想做的是:如果全局变量的 .length 不等于 3,则程序等待代码的另一部分填充 window.listNodes 然后开始再次调用函数 onOpen()

socket.onopen = function onOpen() {
if (window.listNodes.length === 3) {
// Do something
} else {
// Wait and when window.listNodes.length === 3:
onOpen();
}
});
};

有什么简单的方法吗?我尝试使用函数 setTimeOut() 和生成器函数以及关键字 yield 但我失败了。

感谢您宝贵的帮助:)

最佳答案

这可以使用 setTimeout 和一个自定义的等待时间间隔,例如 500 毫秒:

function onOpen() {
if (window.listNodes.length === 3) {
// Do something
} else {
// Wait and when window.listNodes.length === 3:
setTimeout(onOpen, 500);
}
});
};

socket.onopen = onOpen;

关于JavaScript:暂停函数并等待全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41523927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com