gpt4 book ai didi

Angular 4 setTimeout不等待

转载 作者:太空狗 更新时间:2023-10-29 16:54:51 26 4
gpt4 key购买 nike

我正在使用 typescript 创建一个 angular 4 应用程序。

我有一个函数需要每 10 秒执行一次,直到达到指定的停止条件。我使用 setTimeout 创建了一个带有一些测试代码的循环,看看它是否有效。

我的测试代码:

public run() {
let i = 0;
while (i < 4) {
setTimeout(this.timer,3000);
i++;
}
}

public timer(){
console.log("done")
}

然而,这似乎等待了 3 秒,或者浏览器速度很慢......然后打印 4 次完成。所以代码不起作用。我做错了吗?还有其他方法可以做这种事情吗?

最佳答案

由于您使用的是 Angular,因此您可以使用 takeWhile 以更简单的方式执行此操作:

Observable.interval(10000)
.takeWhile(() => !stopCondition)
.subscribe(i => {
// This will be called every 10 seconds until `stopCondition` flag is set to true
})

关于Angular 4 setTimeout不等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45057278/

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