Javascript setInterval函数不能重复

时间:2016-01-14 01:40:21

标签: javascript ajax

我想使用setInterval函数每隔10秒从其他网站获取数据。 但它不能每10秒重复一次,只是第一次运行然后停止。

setInterval(hypothes("testtest"), 10000);

function hypothes(username){  
   var xhttp = new XMLHttpRequest();
   xhttp.onreadystatechange = function() {
   if (xhttp.readyState == 4 && xhttp.status == 200) {
      document.getElementById("demo").innerHTML = xhttp.responseText;
      var Jsonfile= JSON.parse(xhttp.responseText);
      console.log(Jsonfile.total);
      console.log(username); 
    }
  };
  var url="https://hypothes.is/api/search?user=" + username + "&sort=created&order=asc";
  xhttp.open("GET", url, true);
  xhttp.send();
  alert("test");
  }

3 个答案:

答案 0 :(得分:1)

setInterval(function(){hypothes("testtest")}, 10000);

答案 1 :(得分:1)

setInterval需要一个功能。你传递了hypothes的结果。试试这个:

setInterval(function() { hypothes("testtest") }, 10000);

答案 2 :(得分:0)

您的代码存在的问题是,您实际上并未将函数设置为回调,而是立即调用它。

修改设置间隔的代码,如下所示:

setInterval(function() { hypothes("testtest"); }, 10000);