由于我无法发表评论,因此我不得不撰写这篇文章。我得到下面的代码,它延迟/恰好延迟1秒或1000毫秒-
let n = 5;
for (let i=1; i<n; i++)
{
setTimeout( function timer()
{
console.log("hello world");
}, i*1000 );
}
但是,我如何将其延迟* 1000秒而不是固定的1000毫秒,所以等待取决于迭代次数?
例如,如果n = 5,那么我希望在第一次迭代中将循环延迟设为1秒。在第二次迭代中2秒,依此类推...最终延迟将为5秒。
2
所以你想做9个计时器吗?如果是这样,那么您的代码将满足您的要求。它不会精确地等待3秒。实际上,计时器永远不会是精确的。
—
Scott Marcus
您的问题没有道理
—
DanStarns
只需在Codepen中尝试一下代码即可:codepen.io/Connum/pen/BaaBMwW您将获得9条消息,间隔3000毫秒 -如果这不是您想要的(但从您的问题听起来确实如此),请指定您的预期结果是。
—
康斯坦丁·格罗斯
您似乎首先不了解setTimeout的工作原理-它不是 “延迟”。现在,您得到您的警报3秒的间隔,因为你已经有成倍的增加了3000
—
04FS
i
-如果你不这样做,那么你会得到所有这些警报在同一时间。
编辑问题以使最后一句变为粗体并不能真正帮助您解决问题。现在,多个注释器告诉您,您的代码已经完成了您要的操作(或者,如果不是您想要的结果,则您实际上并不清楚要执行的操作)。
—
康斯坦丁·格罗斯