2017-04-23 1 views
0

실제로 XXXX YYYY를 입력하면 html 페이지 (약 150 개 값)에 플레이어 json 코드가 표시됩니다. 하지만 플레이어 목록에 함수를 사용하려고하면 somewhy가 150 개의 값을 모두 포함하지 않고 try가 catch 오류 부분에 나를 던졌습니다. 여기서 json 플레이어는 내부에 100 명의 플레이어 만 있습니다.요청이있는 전체 json을 가져올 수 없습니다.

어떤 문제 일 수 있습니까?

if(yourID === "XXXX" && targetID === "YYYY"){ 
    return players; 
} 
try{ 
    if(isUserAlive(yourID)){ 
     if(targetID === ""){ 
      return userTargetInfo(yourID); 
     } 
     var checkForMatch = getUserTarget(yourID); 
     if(checkForMatch === targetID){ 
      killTarget(targetID); 
      getUser(yourID).targetID = getTargetTarget(targetID); 
      addScore(yourID); 
      return userTargetInfo(yourID); 
      //return getTargetTargetStats(targetID); 
     }else{ 
      return "INVALID"; 
     } 
    }else{ 
     return "DEAD" 
    } 
}catch(err){ 
    console.log("Error",console.log(players)) 
    return "INVALID"  
} 

편집 : 내가 시간이 없었 때문에, 나는이 개 웹 사이트를 만들고 2 개 개의 다른 데이터베이스로 데이터베이스를 분리, 그래서 각 백명에서 작동합니다. 이 시점에서 오류를 수정할 시간이 없었습니다. 그래서 나는 곧 그 어떤 시도도하지 않을 것이므로 그 해결책을 선택하지 않을 것입니다. 도와 주셔서 감사합니다.

+2

여기에서 제공 한 내용을 알기는 어렵지만 요청한 API가 플레이어 데이터에 대한 페이지 매김을 사용하고 있다고 추측합니다. 즉, 각 요청에 대해 특정 수의 결과 만 반환합니다. 참조 할 수있는 API 문서가 있습니까? – heylookltsme

+2

우편 번호 (https://www.getpostman.com/)에서 동일한 URL을 누르시면 모든 값을 받으시겠습니까? 그것은 서버 측에 한계가 될 수 있습니까? –

+0

Firebase 데이터베이스는 'limitToFirst' 또는'limitToLast' 매개 변수를 지정하지 않으면 반환되는 자식 수를 잘라 내지 않습니다. 문제를 재현하는 최소한의 완전한 코드 샘플을 보지 않고 어떤 일이 벌어지고 있는지 말하기는 불가능합니다 (http://stackoverflow.com/help/mcve). 그러한 MCVE를 만드는 한 가지 방법은 jsbin에서 문제를 재현 한 다음 거기에서 코드와 링크를 공유하는 것입니다. –

답변

0

사용중인 링크 API를 확인하십시오. 페이지 매김이 통합되어있을 수 있습니다. 이 경우 나는 특정 객체 수를 반환하고 다음 배치를 다시 요청할 수 있습니다. 대부분 반환 된 객체의 수를 변경하는 옵션이있을 수 있습니다 (최대 값을 가끔 사용하는 경우도 있습니다)

0

나는 body이 문자열로 반환됩니다. 그것을 개체로 변경해보십시오. 그렇게하면 쉽게 작업 할 수 있습니다.

변경 :

players = body; 

에 :

players = JSON.parse(body); 

나는 코드의 나머지 모르겠지만, 이것은처럼 보이기 때문에 당신이 당신의 players 변수 선언에 var을 추가 할 수 있습니다 처음 설정할 때.

연구 : 네임 스페이스 충돌

문제가 계속 발생하는 경우, 당신은 console.log(JSON.parse(body));에서 받고 응답을 포함하도록 질문을 편집 할 수 있습니다. 더 유용한 답변을 얻을 수 있습니다. 이 매겨진 있다면

{ query: 
    { count: 1, 
     created: '2017-04-23T22:03:31Z', 
     lang: 'en-US', 
     results: { channel: [Object] } } } 

, 당신은 거기에 cursor 키의 어떤 종류를 참조하거나 totalCount 어떤 종류의와 함께 prevnext한다 : 개인적으로, 나는 같은 키를보고 호기심입니다.

희망이 도움이됩니다.

관련 문제