JavaScript setInterval 立即运行

2024-02-18

我找到了一种立即在 javascript 中运行间隔的解决方案,而不是等待第一个“超时”

setInterval(function hello() {
  console.log('world');
  return hello;
}(), 2500);

但问题是这个解决方案不起作用,就像这样的施工

(function () {
    window.Banner = {

        doMagic: function () {
            setInterval(function magic() {
                console.log('magic');
                return magic;
            }, 2500);
        }
    }
})();

Banner.doMagic();

我尝试返回 Banner 方法,为其命名并返回,但没有成功。 重点是,实际的构造要复杂得多,所以我不能只是将其重写为广泛提供的“返回 setTimeout”解决方案,因此找到我在这个问题上做错了什么将是非常完美的。

http://jsfiddle.net/5jawxLnr/3/ http://jsfiddle.net/5jawxLnr/3/


也许最正确的方法是将整个回调放在 setInterval 调用之外并将其放入单独的变量中:

(function () {
    window.Banner = {

        doMagic: function () {
            var magic = function() {
                console.log('magic');
            };
            setInterval(magic, 2500);
            magic();
        }
    }
})();

Banner.doMagic();

效果与您的第一个代码相同,但这样您的代码会更干净一些。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript setInterval 立即运行 的相关文章