2013-03-08 2 views
0

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을보고 싶습니다. 내가 900에 달할 때까지 계속 AppendNext를 계속 호출해야하나요? 스포티 파이 앱의 API에 내장 된 검색 기능을 사용하는 경우

감사 밥

답변

0

는 더 매김 없습니다. 금액이 제한되어 있지만 50 개 이상의 결과를 반환하도록 결과 수가 증가 할 수 있습니다 (the Search page in the documentation 참조). 현재는 200 개 트랙으로 보입니다.

대신 Web API에 요청을 수행하는 다른 방법이 있습니다.

+0

잠깐만 기다려주세요. 그렇다면 API를 사용하여 검색 결과를 얻을 수있는 방법이 없다는 말입니까? 그래서 모든 리아나 노래를 검색하고 싶다면, 예를 들어 200 곡만을 얻을 수 있습니다. 내가 찾고있는 노래가 처음 200 곡이 아니라면 나는 운이 없습니까? 그건 말도 안돼! 그때 사용 된 AppendNext 호출은 무엇입니까? – bsabiston