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