Javascript 循环的JS函数不等待超时
问题 我在JS中的for循环只是在不等待超时的情况下传递所有元素,我尝试了一些方法,比如检查这个主题,但找不到任何解决方案 我想要什么 我希望for循环为数组中的每个元素等待超时 代码 我想在400毫秒后调用generateNext函数,但在这里,我的代码同时调用所有函数将generateNext放入超时函数中Javascript 循环的JS函数不等待超时,javascript,Javascript,问题 我在JS中的for循环只是在不等待超时的情况下传递所有元素,我尝试了一些方法,比如检查这个主题,但找不到任何解决方案 我想要什么 我希望for循环为数组中的每个元素等待超时 代码 我想在400毫秒后调用generateNext函数,但在这里,我的代码同时调用所有函数将generateNext放入超时函数中 setTimeout(function() { generateNext() }, 400); 这个问题的答案是,setTimeout是异步的,它不能延迟同步执行,除非其中一个保
setTimeout(function() {
generateNext()
}, 400);
这个问题的答案是,setTimeout是异步的,它不能延迟同步执行,除非其中一个保持同步 对于这种用法,您希望使用setInterval而不是setTimeout
不幸的是没有工作
setTimeout(function() {
generateNext()
}, 400);
function generateList(level) {
//her levelda olusacak parca sayisi 1 artar
generatedList = [];
let counter = 0
const interval = setInterval(generateNext, 400)
}
function generateNext() {
// bu kısım sonraki seviye için tek bir parça hazırlar
if (counter === level) {
clearInterval(interval)
}
var random = Math.floor(Math.random() * 4) + 1;
var name = constList[random - 1];
$("#" + name).fadeIn(100).fadeOut(100).fadeIn(100);
playSound(name);
generatedList.push(random);
counter++
}