javascript - setInterval 的函数不会在页面加载时立即启动

我有这段代码,可以按给定的时间间隔连续访问 url:


window.setInterval(function(){

    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {

    if (this.readyState == 4 && this.status == 200) {

        var valr5 = JSON.parse(this.responseText);

        document.getElementById("wind").innerHTML = valr5.wind;

        }

    };

        xmlhttp.open("GET", "sample.com/", true);

        xmlhttp.send();

    }, 30000);}

我的问题是脚本将在代码中设置的 30 秒后运行。所以页面空白了 30 秒。


我想要发生的是在页面加载时,脚本将运行,这样我就不会看到空白页面,然后每隔 30 秒左右访问一次 URL。


我怎样才能做到这一点?谢谢。


慕运维8079593
浏览 59回答 1
1回答

哔哔one

首先将函数保存在变量中,调用该函数,然后用它调用setInterval:const updateWind = () => {  var xmlhttp = new XMLHttpRequest();  xmlhttp.onreadystatechange = function() {    if (this.readyState == 4 && this.status == 200) {      var valr5 = JSON.parse(this.responseText);      document.getElementById("wind").innerHTML = valr5.wind;    }  };  xmlhttp.open("GET", "sample.com/", true);  xmlhttp.send();};updateWind();window.setInterval(updateWind, 30000);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5