0

この Spotify プレイリストを使用すると問題が発生します Spotify:user:juan20150:playlist:5rl5QaWjWtEPv9a057w3qc

これは、この問題がある最初の再生リストです。返されるスナップショットの長さは 290 ですが、snapshot.loadAll を実行すると 289 トラックしか返されません。

なぜそれが起こるのでしょうか?

    var playlist = models.Playlist.fromURI("spotify:user:juan20150:playlist:5rl5QaWjWtEPv9a057w3qc");
playlist.load('tracks').done(function() {

      playlist.tracks.snapshot().done(function(snapshot) {
        console.log("snapshot length " , snapshot.length);
        $i=0;
        snapshot.loadAll('name').each(function(track) {


            console.log("i=" , i++);


        });
    });

});

結果:

スナップショットの長さ 290 i = 289 (最後)

ありがとう

4

1 に答える 1

0

ゼロから始めて、後からインクリメントしたからです。プレイリストの長さが 3 の場合、出力されます

0
1
2

3トラック用。


自分で試してみて更新 まず、疑似コードではなく実際のコードを配置すると役立ちます。あなたのコードをアプリに投げましたが、うまくいきませんでした。修正すると、0から288まで印刷されました。そのため、削除して挿入し.eachましたが.done、何も印刷されませんでした。しかし、.fail何かを返しました。残念ながら、エラーは未定義です。以下:

require(['$api/models'], function(models) {
    var playlist = models.Playlist.fromURI("spotify:user:juan20150:playlist:5rl5QaWjWtEPv9a057w3qc");
    playlist.load('tracks').done(function() {

    playlist.tracks.snapshot().done(function(snapshot) {
        console.log("snapshot length " + snapshot.length);
        var i=0;
        snapshot.loadAll('name')
            //.each(function(t) { console.log(i++); })
           .done(function(snap_tracks) { console.log("loaded tracks length " + snap_tracks.length); })
           .fail(function(track, error) { console.log(error + ". " + track.length); });
        });

    });
});

出力:

14:39:15.898 I [sp://67456db3aaa5a1c25a619472cdb2cbc3f52da3ed.album-radio/js/alb
umradio.js:507] snapshot length 290
14:39:16.236 I [sp://67456db3aaa5a1c25a619472cdb2cbc3f52da3ed.album-radio/js/alb
umradio.js:512] undefined. 290

私の最善の推測は、そこにアクセスできなくなった曲があるということです(ライセンス紛争か何か)。

于 2013-12-07T23:01:23.237 に答える