jQuery的多个setinterval问题 [英] multiple setinterval issue with jquery

查看:343
本文介绍了jQuery的多个setinterval问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为以下代码执行setInterval. 单击按钮后,我必须一个接一个地执行以下操作

I am performing setInterval for following code. On a button click i have to perform below ones one by one

// 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);

我需要在按钮中单击的是

what i need in the button click is

只有在将数据填充到html调用/getVM后才首先调用/getVMstatus,然后再获得此数据调用/getteststatus怎么可能?

first call /getVMstatus only after filling data to html call /getVM after getting this data call /getteststatus how it is possible?

推荐答案

尝试完成回调

    / 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) {});
            }
          });
});
});

这篇关于jQuery的多个setinterval问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆