【发布时间】:2017-05-03 21:27:58
【问题描述】:
当下面的函数完成并提供数组“专辑”中的最终项目列表时,我希望它调用另一个函数/对列表执行其他操作。
目前它在函数完成之前发布 [],我知道这是因为异步执行,但我认为 Node 是线性读取的,因为它是单线程的?
function getAlbumsTotal(list, params){
for(var i = 0; i<list.length; i++){
api.getArtistAlbums(list[i], params).then(function(data) {
for(var alb = 0; alb<data.body.items.length; alb++){
albums.push(data.body.items[alb].id);
}
}, function(err) {
console.error(err);
});
}
console.log(albums);
//do something with the finalized list of albums here
}
【问题讨论】:
标签: javascript node.js for-loop asynchronous callback