Spotify开发人员搜索

我对Spotify API中的搜索功能如何工作感到困惑。 他们的例子是这样的:

    var sp = getSpotifyApi();
    var models = sp.require('$api/models');

    var search = new models.Search('Rihanna');
    search.localResults = models.LOCALSEARCHRESULTS.APPEND;

    var searchHTML = document.getElementById('results');

    search.observe(models.EVENT.CHANGE, function() {
        var results = search.tracks;
        var fragment = document.createDocumentFragment();
        for (var i=0; i<results.length; i++){
            var link = document.createElement('li');
            var a = document.createElement('a');
            a.href = results[i].uri;
            link.appendChild(a);
            a.innerHTML = results[i].name;
            fragment.appendChild(link);
        }

        searchHTML.appendChild(fragment);
    });

    search.appendNext();

所以,我想调用appendNext()会启动搜索,当内部函数有结果时会调用它。 但结果仅限于总数的一定数量(默认为50)。 你如何得到其余的? 你是否从回调内部递归地调用appendNext()? 另外,这是否意味着在你做完这些之后,你的列表是否包含原始结果,还是取代了原始结果? 任何人都知道一个可以搜索所有可用结果的例子吗?

他们还提到,如果搜索正在运行,appendNext()不执行任何操作。 那么,在获得下一个'页面'之前,你如何优雅地等待当前搜索完成?

他们的文档很糟糕,恕我直言。 假设您在服务器上共有1000个搜索结果。 并说我想看结果900-1000。 我是否必须反复调用AppendNext直到达到900?

感谢鲍勃


使用Spotify应用程序API中内置的搜索功能时没有分页。 您可以增加结果数量,以便返回超过50个结果(请参阅文档中的搜索页面),但数量有限(目前似乎为200首曲目)。

还有一种替代方法,即向Web API执行请求。

链接地址: http://www.djcxy.com/p/55557.html

上一篇: Spotify developer search

下一篇: can I filter a spotify search by region