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() は何もしないと述べています。では、次の「ページ」を取得する前に、現在の検索が完了するまでどのように待機するのでしょうか?
彼らのドキュメンテーションはひどいものです、IMHO。サーバーから合計 1000 件の検索結果があるとします。そして、結果 900-1000 を見たいとします。900 に到達するまで AppendNext を何度も呼び出し続ける必要がありますか?
ありがとうボブ