代码之家  ›  专栏  ›  技术社区  ›  Thomas daign

从spotify的播放列表中删除曲目

  •  0
  • Thomas daign  · 技术社区  · 11 年前

    想要删除播放列表中直到所选歌曲的所有歌曲。这个代码正在破坏Spotify,所以我看不出投诉是什么,但我相信只要第一次打电话删除该曲目,就会发生这种情况。如果我注释掉remove调用,那么日志记录看起来是正确的。

        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控制台。

    现在我收到了这条消息。

    20:39:36.663 A [base/range.h:27                 ] Check failed: loc >= 0:
    

    Promise。fail的错误信息显示 索引-1处的项已更改。

    1 回复  |  直到 11 年前
        1
  •  0
  •   Thomas daign    11 年前

    显然 snapshot.toArray() snapshot.ref(index) .

    更新:使我理解这一点的参考文件- https://developer.spotify.com/docs/apps/api/1.0/api-models-reference.html