Метод Spotify Collection Shuffle не работает должным образом

Для моего приложения мне нужно перетасовать коллекцию, прежде чем превращать ее в снимок, который будет использоваться позже. В соответствии с документацией метод shuffle() возвращает новую коллекцию с рандомизированными треками, поэтому я могу сразу вызвать метод snapshot() (поскольку он не возвращает Promise, например snapshot()).

Здесь мой тестовый код, который работает, как ожидалось, без метода тасования. Однако он ничего не показывает в консоли с добавлением.

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);
 }
 }
 );
});

Есть идеи?

1 ответ

Похоже, какая-то амбициозная документация - тасование, похоже, не реализовано. Когда я запустил это:

require(['$api/models'], function (models) {
 playlist = models.Playlist.fromURI(localStorage.album_radio_playlist);

 playlist.load('tracks').done(function (tracks) {
 console.log(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);
 }
 }
 ).fail(function (blah, err) { console.log("failed to shuffle " + err); });
 });
});

Я получил этот вывод

14:46:05.156 A [shell/lists/ItemListFactory.h:239] Check failed: Not implemented! 
14:46:05.167 I [sp://67456db3aaa5a1c25a619472cdb2cbc3f52da3ed.album-radio/js/albumradio.js:684] failed to shuffle undefined

licensed under cc by-sa 3.0 with attribution.