所以我有一个函数需要每隔一秒运行一次,所以我使用下面的代码,但如果我不解决 setTimeout 中的承诺,它就不起作用,而且我无法理解为什么会这样?
async function loop() {
console.log("print")
await new Promise(function(resolve, reject) {
setTimeout(function() {
resolve();
}, 1000);
});
loop()
}
loop()
它工作正常,每秒记录一次“打印”,但是当我从 setTimeout 中删除解析时,它不再工作,只是在记录“打印”一次后停止。
由于 setTimeouts 一般不会失败,所以我认为无论我是否解决承诺,它都应该有效,但在删除解决方案时它不起作用。