我访问API Trello的,但我碰到下面的问题就来了:阵列返回undefined,因为异步
Trello访问这些信息,让每个现有行的id,代码如下:
var x;
var numberCardsByList = [];
trello.get("/1/boards/[idBoard]/lists/all", function(err, data) {
if (err) throw err;
console.log("Number of list: " + data.length);
for(var i=0; i<data.length; i++){
x = data[i];
findNumberCards(x);
}
});
正如你所看到的,在获得大小之后,我用循环遍历所有这些队列,在循环内将每行连接到一个变量x中,并调用一个函数来获取队列中的卡片数量。对于卡的数量的代码如下:
function findNumberCards(x){
trello.get("/1/lists/"+x.id+"/cards", function(err, dados){
if(err) throw err;
console.log("Name List: " + x.name + " have " + dados.length + " cards");
numberCardsByList[x.name] = dados.length;
});
}
在此之前的所有权利,但是当我尝试在Trello搜索结束后访问向量numberCardsByList
,它返回undefined:
var x;
var numberCardsByList = [];
trello.get("/1/boards/[idBoard]/lists/all", function(err, data) {
if (err) throw err;
console.log("Quantidade de Filas: " + data.length);
for(var i=0; i<data.length; i++){
x = data[i];
findNumberCards(x);
}
});
console.log(numberCardsByList);
我知道,这是因为异步,但是,不能解决。
请以更完整的方式展示您的代码示例..我认为发生的事情是您首先调用'/ 1/boards/[idBoard]/lists/all',然后在回调函数中调用另一个函数做异步操作,并且在那个函数之后,如果我错了,你还要做其他的事情纠正我 –
yes是正确的,因为我解决了这个问题? – Jonathan