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

Javascript 如何创建使用随机生成的间隔调用函数的连续循环,javascript,jquery,html,Javascript,Jquery,Html,我希望每指定秒执行一个函数,它应该永远循环。当函数完成时,我想使用2到5之间随机生成的值(表示秒)启动一个新的setTimeout 也许解释得不好,但是 这就是我目前所拥有的 function Start() { let count = $("section.mosaic").find("a.item").length; ChangePic(); setTimeout(function () { let interval = CREATOR.PUB.U

我希望每指定秒执行一个函数,它应该永远循环。当函数完成时,我想使用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()
,或将其移动到您在
Start
ChangePic

中调用的助手函数中,ChangePic是应该每隔几秒钟调用一次的函数吗?@是正确的