javascript - 延迟重复执行 Javascript 函数

标签 javascript ajax jquery

我即将制作一些 JS 功能,

  • 执行一个函数之前预定义的次数 (迭代)
  • 在每个函数执行后延迟预先定义的秒数

一个很大的要求是解决方案必须兼容 Ajax。

说:

<script>
functon my_function(numberoftimes, secondsdelay){
//do ajax requests for numberoftimes, separeted by secondsdelay
$.ajax(
            {
                type: "GET/POST",
                url: "exampleurl",
                data: "key=value",
            }
        )
}
<script>

<button onclick="my_function(3,1)">Do it</button>

如何?

谢谢。

最佳答案

function my_function(numberoftimes, secondsdelay) {
    //do ajax requests for numberoftimes, separeted by secondsdelay
    var i = 0;

    function doIt() {
        $.ajax({
            type: "GET/POST",
            url: "exampleurl",
            data: "key=value",
            complete: function() {
                if (i++ < numberoftimes) {
                    setTimeout(doIt, secondsdelay * 1000);
                }
            }
        });
    }

    doIt();
}

关于javascript - 延迟重复执行 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268319/

相关文章:

javascript - 多行字符串 findIndex()

javascript - 如何创建带有警报和提示的 while 循环以避免空输入?

javascript - 获取 Firefox 扩展中的字体列表

javascript - AngularJS $Http 服务获取 json 未显示

jQuery - 有多个 $(document).ready(function() {}); 是不是很糟糕?

javascript - 帮助在 Wordpress 循环中使用一些 jQuery

javascript - Ajax/Json - 当列名是数字时如何将返回数据保存在变量中?

jQuery: anchor 加载页面然后滚动到 div

jquery addClass 到所有标签

javascript - 在 javascript 中加载 <div>