繁体   English   中英

如何创建一个使用随机生成的间隔调用函数的连续循环

[英]how create a continuous loop that calls a function using a random generated interval

我想每隔指定的秒执行一个函数,它应该永远循环。 函数完成后,我想使用2到5(代表秒)之间的随机生成值来启动新的setTimeout。

也许很难解释,但是..

这是我到目前为止所拥有的。

function Start() {
    let count = $("section.mosaic").find("a.item").length;

    ChangePic();

    setTimeout(function () {
        let interval = CREATOR.PUB.Utility.randomInterval(2, 5);

        console.log(interval);

    }, 3000);

    function ChangePic() {

    }
}

将间隔代码移到ChangePic以便它在完成时可以自行调用。

function Start() {
    let count = $("section.mosaic").find("a.item").length;

    ChangePic();

    function ChangePic() {
        // do stuff here

        let interval = CREATOR.PUB.Utility.randomInterval(2, 5);
        setTimeout(ChangePic, interval * 1000);
    }
}

请注意,这将在“ Start运行时立即调用一次ChangePic ,此后将开始随机间隔。 如果还需要延迟初始执行,则可以复制超时代码并运行它,而不用调用ChangePic(); ,或将其移到同时在StartChangePic调用的帮助函数中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM