我希望以15秒的间隔从WebServer(PHP)轮询数据50到100次(或者说无限循环,直到stopFlag变量设置为true。)。 对于此数据轮询,我将使用AJAX ASYNC消息将请求发送到WebServer。 我怎样才能实现这一目标? 我试图自己解决这个难题,但不幸的是,我失败了,因为没有关键字暂停javascript中的脚本执行。 有没有办法使它工作?或任何解决方法?如果您已经遇到过这个问题,请告诉我或分享您的经验。
答案 0 :(得分:1)
您必须使用回调进行超时;它会以递归方式调用下一个函数。
您还可以使用jQuery来帮助您使代码更紧凑。结果可能如下所示:
var finished = false;
function keepTrying() {
if (finished) {
return;
}
$.ajax(params);
setTimeout(function() {
keepTrying();
}, 15000);
}
在params中你会有这样的成功函数:
function success() {
finished = true;
}
第一次调用keepTrying();它会循环直到成功。这段代码有点难看,但希望你能得到这个想法。