尝试循环变量

时间:2019-02-21 13:43:15

标签: javascript json jenkins

我用JSON显示一些元素

我必须在每次迭代中发布下一个作业,因为知道第一个是toto

所以现在我有:toto titi tata

我看不到如何循环查看其余所有内容。我不知道该如何循环

    function getall() {
    ajaxGet(".../toto/api/json?pretty=true", recover);
}
getall(); 
function ajaxGet(url, callback) {
    ...
}

function recover(response){
    var Json = JSON.parse(response);
    var Data = Json.downstreamProjects.map(function(group) {    
            console.log("toto");
            //toto
            console.log(group.name);    
            //titi
            ajaxGet2("..."+group.name+"/api/json?pretty=true", recover2);    

        });          
}

function ajaxGet2(url, callback) {
    ....
}

function recover2(response){
    var Json = JSON.parse(response);
    var Data = Json.downstreamProjects.map(function(group) {        
            console.log(group.name);
            //tata       
    });       
}

DownStreamProject在我的案例中显示下一个工作:

  • toto显示titi
  • titi显示塔塔

并且知道我需要为每个工作做一个循环,并有这样的下一个工作:

  • tata显示exm1
  • exm1显示exm2
  • 然后继续...

1 个答案:

答案 0 :(得分:0)

这有点脏,不是OOP,但应该可以使用。将组名传递给getall以构造URL。 恢复会将新的组名保存到globalgroupname变量中。 然后在组名不固定的情况下循环调用getall。

global.globalgroupname = "toto"; // start
let prevgroupname;

// Assume the chain ends when groupname is null or blank
while (globalgroupname) {
    // Do something with groupname
    // ...
    // reset globalgroupname to exit if ajax call fails
    prevgroupname = globalgroupname;
    globalgroupname = null;
    // Get next globalgroupname
    getall(prevgroupname); 
}

function getall(groupname) {
    console.log(groupname);
    //toto
    ajaxGet(".../" + groupname + "/api/json?pretty=true", recover);
}

function ajaxGet(url, callback) {
    ...
}

function recover(response){
    var Json = JSON.parse(response);
    var Data = Json.downstreamProjects.map(function(group) {    
            console.log(group.name);    
            //titi
            // Save in global state
            globalgroupname = group.name;
        });          
}