尝试使用JavaScript每3分钟调用一次函数

bfl*_*ra2 1 javascript php ajax-polling

我有一个函数返回一个整数(社区网站上用户的当前信誉分数).根据他们的评论和提交的投票方式,这个数字往往会上升或下降.我想每隔30秒左右"轮询"一次,看它是否有变化,如果是,请更新我正在显示的数字.

在另一个StackOverflow线程中,我发现这个看起来很有用的JavaScript代码段:

function listen() {
  $.get("/mylongrequestfile", {}, function(data) {
     $("#mydiv").html(data);
     listen(); // then launch again
  }));
};
Run Code Online (Sandbox Code Playgroud)

我只是用我的函数替换/ mylongrequestfile吗?我正在尝试,但它没有那么好用.如何使用此代码或其他代码段每30秒抓取并显示此值?

rah*_*hul 5

您可以使用

window.setInterval

哪一个

重复调用函数,每次调用该函数之间都有固定的时间延迟.

var intervalID = window.setInterval(yourfunctionname, 300);
Run Code Online (Sandbox Code Playgroud)

这以300毫秒的延迟执行.

回调参数

setInterval()将传递回调被调用到回调函数后的毫秒数,如果它希望将其他东西作为参数,则可能会混淆它.要回避这个问题,请使用匿名函数来调用您的回调.

如果需要将参数传递给回调函数,则可以使用相同的技术,但需要它在Internet Explorer中工作,Internet Explorer不支持使用setInterval()发送其他参数.

var intervalID = setInterval(function() { YourFunction(); }, 300);
Run Code Online (Sandbox Code Playgroud)