当我将异步函数作为参数传递给 setInterval 时,它有一个奇怪的行为:它工作了几次,但随后毫无异常(exception)地停止了。
setInterval(() => doSomethingAsync(), 1000);
我不知道为什么。
我尝试实现自己的 setIntervalAsync 但行为是相同的:
const sleep = ms => new Promise(res => setTimeout(res, ms));
const setIntervalAsync = async (func, interval) => {
while (true) {
await func();
await sleep(interval);
}
};
// schedule it
setIntervalAsync(async () => await doSomethingAsync(), 1000);
最佳答案
问题出在其他地方,与 setInterval 或我的回调完全无关。
setInterval 在异步函数中运行良好。
关于javascript - 异步函数作为 setInterval Nodejs 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58958238/