想要删除播放列表中所有歌曲直到所选歌曲。这段代码崩溃了Spotify,所以我无法看到投诉是什么,但我相信一旦发生第一次删除赛道,它就会发生。如果我注释掉删除调用,则日志记录看起来是正确的。
var playlist = models.Playlist.fromURI(uri);
playlist.load('tracks').done(function (tracks) {
console.log('tracks loaded');
playlist.tracks.snapshot(0, 20).done(function (snapshot) {
console.log('snapshot loaded');
if(snapshot.find(models.player.track)) {
var done=false;
var tracks = snapshot.toArray();
tracks.forEach(function(deleteme) {
if (deleteme == models.player.track) {
console.log('here\'s our current track');
done = true;
} else if (done) {
console.log('already done');
} else {
console.log('deleting ' + deleteme.uri);
playlist.tracks.remove(deleteme);
}
})
}
});
});
更新 不确定发生了什么,但它不再崩溃。也许是因为我从命令行运行spotify -console。
现在我收到此消息。
20:39:36.663 A [base/range.h:27 ] Check failed: loc >= 0:
Promise.fail的错误消息显示索引-1处的项目已更改。
答案 0 :(得分:0)
显然snapshot.toArray()
的元素与snapshot.ref(index)
不同。
更新:让我理解这一点的参考文档 - https://developer.spotify.com/docs/apps/api/1.0/api-models-reference.html