我用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在我的案例中显示下一个工作:
并且知道我需要为每个工作做一个循环,并有这样的下一个工作:
答案 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;
});
}