为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕运维8079593 2023-12-19 16:29:53
我有这段代码,可以按给定的时间间隔连续访问 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。我怎样才能做到这一点?谢谢。
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

首先将函数保存在变量中,调用该函数,然后用它调用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);


查看完整回答
反对 回复 2023-12-19
  • 1 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信