当下面的函数完成并提供数组'albums'中的项目的最终列表时,我希望它调用另一个函数/对列表执行其他操作.
目前它在函数完成之前发布[]并且我知道这是因为异步执行,但我认为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
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试按节点中的日期排序.我的日期在一个对象(或数组,如果这将更容易),他们的yyyy-mm-dd格式即2015-02-22.我怎样才能按时间顺序排序呢?我是否需要将它拼接起来并测量每件作品的时间差异?任何帮助表示赞赏.