jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery递归ajax poll使用setTimeout来控制轮询间隔大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$(document).ready(function() {
    (function poll() {
        setTimeout(function() {
            $.ajax({
                url: "/project1/api/getAllUsers",type: "GET",success: function(data) {
                    console.log("polling");
                },dataType: "json",complete: poll,timeout: 5000
            }),5000
        });
    })();
});

这只是保持执行速度与服务器响应速度一样快,但我希望它只会每5秒轮询一次.有什么建议?

编辑:我应该补充,请求完成后5秒钟会更好.

解决方法

看来你已经设法把你的setTimeout延迟参数写在错误的地方.

$(document).ready(function() {
  (function poll() {
    setTimeout(function() {
        $.ajax({
            url: "/project1/api/getAllUsers",success: function(data) {
                console.log("polling");
            },timeout: 5000
        }) //,5000  <-- oops.
    },5000); // <-- Should be here instead
  })();
});

如果你按照大括号,你会看到你正在调用setTimeout:

setTimeout(function () {
    $.ajax(),5000
})

应该是

setTimeout(function () {
    $.ajax();
},5000)

这应该在前一个完成后5秒调用AJAX轮询.

大佬总结

以上是大佬教程为你收集整理的jQuery递归ajax poll使用setTimeout来控制轮询间隔全部内容,希望文章能够帮你解决jQuery递归ajax poll使用setTimeout来控制轮询间隔所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。