gpt4 book ai didi

javascript - 重复异步函数 10 次

转载 作者:行者123 更新时间:2023-11-28 17:29:54 26 4
gpt4 key购买 nike

我尝试以 5 秒的间隔重复 async 函数 10 次。这是我所做的:

repeat(x) {
(async function p(x, count) {
if (cam) {
await x.foo().then(data => {
...
});
}

if (count < 10) {
setTimeout(p(x, count+1), 5000);
}
})(cam, 0);
}

但是我得到的是 p() 执行了 10 次,中间没有等待。有谁知道为什么吗?

任何想法表示赞赏。

最佳答案

您正在使用 setTimeout(p(x, count+1), 5000); 立即调用该函数并传递其返回值,假设 undefined 5秒后调用

您需要传递函数引用和参数,以便使用以下方法调用时提供

setTimeout(p, 5000,x, count+1);

关于javascript - 重复异步函数 10 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50697460/

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