我对Spotify API中的搜索功能如何工作感到困惑。他们的例子是这样的:Spotify开发人员搜索
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?
感谢 鲍勃
等等,所以你说没有办法使用他们的API来获得一组完整的搜索结果?因此,如果我想搜索所有Rhianna歌曲,就像他们的例子一样,我只能获得200首歌曲,如果我要找的歌曲不在前200首,我是不是很幸运?这太可笑了!那么AppendNext调用是什么时候使用的? – bsabiston 2013-03-20 13:54:28