首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery的多个setinterval问题

jquery的多个setinterval问题
EN

Stack Overflow用户
提问于 2014-01-28 17:24:25
回答 2查看 84关注 0票数 0

我正在为下面的代码执行setInterval。在点击按钮时,我必须一个接一个地执行以下操作

代码语言:javascript
运行
复制
// show VM started

    vmstart = setInterval(function () {
      $.get('/getVMstatus', function (data) {
        if (data != "") {
          clearInterval(vmstart);
          $("#vmstart").show();
          $("#vmstart").html(data[0].ip)+".....</br>";
          $.post('/deleteReport', function (data) {});
        }
      });
    }, 5000);


// get VM IP Address
    inter = setInterval(function () {
      $.get('/getVm', function (data) {
        if (data != "") {
          clearInterval(inter);
          $("#vmipdiv").show();
          $("#vmipdiv").html("VM IP : " + data[0].ip);
          $.post('/deleteReport', function (data) {});
        }
      });
    }, 6000);

// Test start
teststart = setInterval(function () {
      $.get('/geteststatus', function (data) {
        if (data != "") {
          clearInterval(teststart);
          $("#teststart").show();
          $("#teststart").html("Test Starting in "+data[0].ip+"</br>");
          $.post('/deleteReport', function (data) {});
        }
      });
    }, 11000);

我在点击按钮时需要的是

先调用/getVMstatus后才将数据填充到html调用/getVM,获取此数据后调用/getteststatus,这是怎么可能的?

EN

回答 2

Stack Overflow用户

发布于 2014-01-28 17:36:59

您可以在一个函数中调用另一个函数

代码语言:javascript
运行
复制
$.get('/getVMstatus', function (data) {
    if (data != "") {
        $("#vmstart").show();
        $("#vmstart").html(data[0].ip)+".....</br>";
        $.post('/deleteReport', function (data) {
            $.get('/getVm', function (data) {
                if (data != "") {
                    $("#vmipdiv").show();
                    $("#vmipdiv").html("VM IP : " + data[0].ip);
                    $.post('/deleteReport', function (data) {
                        $.get('/geteststatus', function (data) {
                            if (data != "") {
                                $("#teststart").show();
                                $("#teststart").html("Test Starting in "+data[0].ip+"</br>");
                                $.post('/deleteReport', function (data) {});
                            }
                        });
                    });
                }
            });
        });
    }
});
票数 1
EN

Stack Overflow用户

发布于 2014-01-28 17:39:21

尝试完成回调

代码语言:javascript
运行
复制
    / show VM started
          $.get('/getVMstatus', function (data) {
            if (data != "") {

              $("#vmstart").show();
              $("#vmstart").html(data[0].ip)+".....</br>";
              $.post('/deleteReport', function (data) {});
            }
          }).done(function(){$.get('/getVm', function (data) {
            if (data != "") {

              $("#vmipdiv").show();
              $("#vmipdiv").html("VM IP : " + data[0].ip);
              $.post('/deleteReport', function (data) {});
            }
          }).done(function(){
$.get('/geteststatus', function (data) {
            if (data != "") {

              $("#teststart").show();
              $("#teststart").html("Test Starting in "+data[0].ip+"</br>");
              $.post('/deleteReport', function (data) {});
            }
          });
});
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21401540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档