javascript如何在结束后再次运行一个函数

标签 javascript jquery ajax

我有一个函数可以通过 ajax 更新我的 html 页面上的表格。这个 ajax 调用需要很长时间才能完成。我被引导相信一旦 ajax 调用完成而没有内存泄漏,下面的代码将再次运行它,因为该函数将在 setTimeout 的延迟之前结束。但是,当我使用 chrome 的开发人员工具查看进程时,我可以看到我的函数 makeTable() 的许多实例正在运行并且我收到错误 Failed to load resource: the server responded with a status of 500 (Internal Server Error ) 在控制台中。有更好的方法吗?

 function makeTable() {
    $.ajax({
        url: "TableView.asp",
        type: "GET"
    }).done(function (ret) {
        $("#info_display").html(ret);
    });
    setTimeout(makeTable, 5000);
 } 

最佳答案

setTimeout(makeYellowTable, 5000);

应该在回调函数“完成”内

.done(function (ret) {
    $("#info_display").html(ret);
    setTimeout(makeYellowTable, 5000);
});

关于javascript如何在结束后再次运行一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38511966/

相关文章:

Javascript - 显示和隐藏大量列表项的最快方法

php - JQuery验证插件: Use remote with delay

javascript - 如何在 Handlebars/Ember.js 中插入动态 {{property}}?

javascript - 批量转换 IP 地址以查找位置

javascript - jQuery Unobtrusive验证的验证摘要未显示

jquery - 将 Ajax 请求的响应图像设置为 img 标签

javascript - 防止Ajax触发jQuery脚本

javascript - 在 jQuery 选项卡中加载 Google map

javascript - ES6 解构嵌套的可选参数?

php - 使用 AJAX 从客户端插入 mySQL