gpt4 book ai didi

javascript - 数据在特定时间间隔内传递

转载 作者:行者123 更新时间:2023-11-29 21:03:12 27 4
gpt4 key购买 nike

我需要的答案是想出一个特定的间隔。代码是

const myMap = new Map([
[ "A", 1 ],
[ "B", 2 ],
[ "c", 3 ],
[ "d", 4 ],
[ "e", 5 ],
[ "f", 6 ],
[ "g", 7 ]
]);


myMap.forEach( (val, key) =>
Meteor.setTimeout(test(),9000)
);

function test(){
console.log("jajjjaja");
console.log(Date());
}

结果是 Output

我的时间间隔是9秒,但是结果都在同一秒?如何在每 9 秒内得到每一个结果

最佳答案

setTimeout 函数全部一起调用,因为每个 setTimeout 都同时被赋予进程队列,在 9 秒过去后,它们被事件循环一个一个地挑选出来,但由于所有函数同时完成,它们给出了相同的日期() 作为输出,如果你愿意,你可以保留一个计数器并将 setTimeout 设置为 9*counter 秒,这将解决你的问题这里是一个正在运行的例子

const myMap = new Map([
[ "A", 1 ],
[ "B", 2 ],
[ "c", 3 ],
[ "d", 4 ],
[ "e", 5 ],
[ "f", 6 ],
[ "g", 7 ]
]);


myMap.forEach(function(key, value){
test(key);
});

function test(key){
setTimeout(function(){
console.log("jajjjaja");
console.log(Date());
},9000*key);
}

关于javascript - 数据在特定时间间隔内传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45485738/

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