私のアプリでは、後で使用するスナップショットに変換する前に、コレクションをシャッフルする必要があります。ドキュメントによると、shuffle()メソッドはトラックがランダム化された新しいコレクションを返すので、(snapshot() のように Promise を返さないので) すぐに snaps() メソッドを呼び出せるはずです。
シャッフル メソッドなしで期待どおりに動作するテスト コードを次に示します。ただし、追加してもコンソールには何も表示されません。
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);
}
}
);
});
何か案は?