Javascript:jquery回调的等待循环

标签 javascript jquery

我有一个像下面这样的 ajax:

$.get('/api/get-data)
.then(function (res) {
    console.log(res);
});

我想写一个循环来获取数据,像这样:

while (true) {
    $.get('/api/lastbids/' + auctionId)
    .then(function (res) {
        console.log(res);
    });
}

我想在每个请求之间设置延迟,我可以使用 setinterval 但我想在完成响应时,在 500 毫秒后发送另一个数据请求。

最佳答案

您可以使用带有循环 setTimeout 的简单函数递归:

function getBidsLoop () {
  $.get('/api/lastbids/' + auctionId).then(function (res) {
    console.log(res);
    setTimeout(getBidsLoop, 500); // << Recursive call
  });
}


getBidsLoop (); // Start

关于Javascript:jquery回调的等待循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901128/

相关文章:

javascript - jquery使用div/span ID选择器和 anchor 标记类获取 anchor 标记中的href

javascript - Angular 2 中消费者如何提供组件构造函数参数?

javascript - 如何在页面加载后添加div id

javascript - Javascript 字母数字的 RegEx 未按预期工作

jquery - 使用 jQuery 根据字体系列更改正文字体大小

javascript - 根据操作验证表单

javascript - 我怎样才能在全日历中显示比标题更多的内容

javascript - 从数组中删除一个元素,然后在不使用全局变量的情况下保留其状态以备将来使用

javascript - 如何将 dataItem 传递给 KendoGrid 单元格自定义单击上的 js 函数

javascript - 使用此 jquery 不显示月份