gpt4 book ai didi

javascript - 具有可变延迟和等待的 Angular 4 setTimeout()

转载 作者:数据小太阳 更新时间:2023-10-29 05:20:48 27 4
gpt4 key购买 nike

我有一个带有timestamp 的事件列表。我想要的是根据 timestamp 显示事件:

添加延迟:

delay = timestamp(t+1) - timstamp(t)

我知道这不适用于 setTimeout,但有一个解决方法,如果超时是恒定的,在我的情况下不是。

是否可以让下一个setTimeout()等待上一个?具体来说,如果第一个setTimeout()有5秒的延迟,第二个有3秒,那么第二个会先出现。我希望它们按相同的顺序执行,但一个接一个地执行。

此示例适用于恒定延迟,但我想根据迭代列表所获取的信息来计算延迟。

for (i = 1; i <= 5; ++i) {
setDelay(i);
}

function setDelay(i) {
setTimeout(function(){
console.log(i);
}, 1000);
}

最佳答案

您可以使用 IIFE (Immediately Invoked Function Expression)和函数递归代替。像这样:

let i = 0;
(function repeat(){
if (++i > 5) return;
setTimeout(function(){
console.log("Iteration: " + i);
repeat();
}, 5000);
})();

现场 fiddle here .

关于javascript - 具有可变延迟和等待的 Angular 4 setTimeout(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52110419/

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