geturls(data,function(urls){
var data = {
"data": [
{ "userProfile": userP },
{ "urls": urls }
]
};
res.send(data);
});
function getUrls(data,done){
links = new Array();
for (var i=0; i<data.length; i++){
user = data[i]
Url.find({where:{data.id}}).success(function(url){
links.push({
"url": ur.text,
"date": data.syncedTime
});
if (urls.length == data.length){
done(links);
}
});
}
}
我的代码的问题是:
一旦在我的数组中收集的数据等于父数组的长度,我将通过回调返回响应。这显然是一个非常危险且不那么优雅的解决方案。因为,假设我从 Url 数据库中得到一个 .failure,那么我的 urls.length 将不等于 data.length。所以,我有点困惑如何去做。有什么帮助吗?