如何跳过 setInterval 函数的第一次延迟?

发布于 2024-11-29 05:14:59 字数 158 浏览 1 评论 0原文

当我们使用 setInterval 时,它会延迟指定的时间,然后运行第一个参数中指定的函数。如果我不想第一次延迟该怎么办?

我有一个解决方案,首先调用该函数,然后使用 setInterval,这样第一次调用就不会出现延迟。但这不是正确的解决方案。因此,如果有人有其他解决方案,请告诉我。

when we use setInterval it delays for specified time and then run the function specified in 1st argument. What should i do if I dont want the delay for the 1st time?

I have one solution that call the function initially and then use setInterval so for the 1st call delay will not be there. but It is not proper solution. So If anybody have some another Solution Then kindly let me know that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

迟月 2024-12-06 05:14:59
setInterval(function(){
    doFunction();
}, 15000);

doFunction();

立即这样做:)

setInterval(function(){
    doFunction();
}, 15000);

doFunction();

does that imediatelly :)

月隐月明月朦胧 2024-12-06 05:14:59

阅读这篇文章。 更改 SetInterval 运行时的时间间隔

Peter Bailey 有一个很好的通用函数,但是 gnarf 也有一个很好的小例子。

您必须为此创建自己的计时器。 SetInterval 不允许您在执行时更改间隔延迟。在回调循环中使用 setTimeout 应该允许您编辑间隔时间。

read this post. Changing the interval of SetInterval while it's running

Peter Bailey has a good generic function, however gnarf also has a nice little example.

You will have to create your own timer for this. SetInterval does not allow you to change the interval delay while its being executed. Using setTimeout within a callback loop should allow you to edit the interval time.

残月升风 2024-12-06 05:14:59

另一种方式:

(function run(){
        // code here
    setTimeout(run,1000);
}())

Another way:

(function run(){
        // code here
    setTimeout(run,1000);
}())
念三年u 2024-12-06 05:14:59

为此创建一个包装器。

function runPeriodically(func, miliseconds) {
    func();
    return setInterval(func, miliseconds);
}

function onePiece() { /* */ }
runPeriodically(onePiece, 100);

Create a wrapper for that.

function runPeriodically(func, miliseconds) {
    func();
    return setInterval(func, miliseconds);
}

function onePiece() { /* */ }
runPeriodically(onePiece, 100);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文