对于我的应用程序,我需要先对集合进行洗牌,然后再将其转换为快照以供以后使用。根据文档, shuffle()方法返回一个新的集合,其轨道是随机的,所以我应该能够立即调用 snapshot() 方法(因为它不会像 snapshot() 那样返回 Promise)。
这是我的测试代码,它在没有 shuffle 方法的情况下按预期工作。但是,添加它后,它在控制台中什么也没有显示。
playlist.load('tracks').done(function(tracks) {
// Works when shuffle() is removed
playlist.tracks.shuffle().snapshot()
.done(
function( snapshot ) {
console.log( snapshot );
for (var i = 0; i < snapshot.length; i++) {
var track = snapshot.get(i);
console.log(track.name);
}
}
);
});
有任何想法吗?