我對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