【发布时间】:2016-05-24 00:12:54
【问题描述】:
我正在访问 API Trello,但遇到了以下问题:
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,然后在回调中调用另一个执行异步操作的函数,然后如果我错了,你会做其他事情纠正我的功能 -
是的,我正在解决这个问题?
标签: javascript node.js asynchronous