gpt4 book ai didi

javascript - setTimeout/setInterval 具有多个延迟以执行代码

转载 作者:行者123 更新时间:2023-11-29 10:20:25 25 4
gpt4 key购买 nike

我有一个数组,其中存储了多个延迟:myArray[8000,4000,3000,6000,5000]。我需要 setTimeout/setInterval 来运行每个延迟,然后执行一段特定的代码。例如:

myArray[0]=8000;
myArray[1]=4000;
myArray[2]=3000;
myArray[3]=6000;
myArray[4]=5000;

for(var k=0;k<5;k++)
{
setTimeout(function() {

console.log("CODE TO BE EXECUTED");

}, diffArray[k]);
}

因此最终结果将是等待 12 秒运行代码,等待 4 秒运行代码,等待 3 秒运行代码,等待 6 秒运行代码,等待 5 秒运行代码。当前代码同时运行它们。

我知道这很可能需要通过递归来完成,我已经尝试了一些方法来让它工作,但没有成功。我让它以一种方式工作,但不幸的是它锁定了 UI 线程,我需要在它运行时在 UI 中执行其他操作。对此的任何帮助将不胜感激!

最佳答案

按顺序运行 setTimeout。您同时运行所有 setTimeout。

myArray[0]=8000;
myArray[1]=4000;
myArray[2]=3000;
myArray[3]=6000;
myArray[4]=5000;
var k =0;
function repeat(){
if(k == myArray.length) return;
setTimeout(function() {
repeat();
console.log("CODE TO BE EXECUTED");

}, myArray[k]);
k++;
}

关于javascript - setTimeout/setInterval 具有多个延迟以执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325742/

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