gpt4 book ai didi

javascript - 我们可以让 set Interval 等到它里面的函数执行完吗?

转载 作者:行者123 更新时间:2023-12-05 03:42:03 25 4
gpt4 key购买 nike

我正在尝试制作一个动画(虽然我没有给出确切的代码,但我想做一个例子)就像我希望设置 Interval 等到它的内部功能完全执行然后再次运行自己。有很多类似的问题,例如 how to make setInterval Wait until The function executes? (你在想这个问题听起来和这个问题很相似,但这个问题的答案并没有详细说明发生了什么)和Wait until setInterval() is done但这些问题并没有给出我的答案。谁能告诉我是否可以这样做? (如果可能的话)那怎么办?

setInterval(()=>{
setTimeout(()=>{
console.log("hel1o")
},3000)
},1000)

最佳答案

您可以使用递归和 promise 来做到这一点。首先将您计划执行的代码包装在一个返回 promise 的函数中。然后创建一个递归函数,该函数在操作完成后调用自身。

const action = () => new Promise((resolve, reject) => {
console.log("Action init")
return setTimeout(()=>{
console.log("Action completed")
resolve();
},3000)
})

const actionRecursion = () => {
action().then(() => {
setTimeout(actionRecursion, 1000)
})
}

actionRecursion();

关于javascript - 我们可以让 set Interval 等到它里面的函数执行完吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67445076/

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