2016-08-04 3 views
0

나는 약속에 대한 나의 지혜를 얻을 수 없었다.약속을 반환하는 방법

response(theResponse) { 
    return theResponse.json(); 
} 

theReponse.json()이 약속을 반환 코드 :

나는이 기능을 가지고있다.

이것은 작동하며 배열로 해석되는 약속을 반환합니다.

그러나이 배열을 수정하여 배열을 처리 한 다음 배열을 처리하고 약속 한대로 반환해야합니다.

어떻게하면됩니까? 그 json() 메소드가 리턴는 다음 herethen()

response(theResponse) { 
    return theResponse.json().then(function(arr) { 
     //do something with arr 
     return arr; 
    }); // then() returns new promise so it can be chained 
} 

확인 "체인 약속"를 사용할 수 있습니다 약속 경우

+1

인수는 함수와 동일한 이름입니다. 그게 나에게 잘 어울리지 않아. –

+1

질문에 어떤 약속도 보이지 않습니다. 설명해 주겠다고? – 4castle

+1

'return theResponse.json(). then (arr => ...);' – zerkms

답변

1

를 사용하여 약속 파이프 라인을 구성 할 수 있습니다.

+0

감사합니다. –

1

당신은 Promise#then()

function response(theResponse) { 
    return theResponse.json().then(function(array) { 
    // process array 
    return array; 
    }); 
} 
1

다른 답변을 추가하기 만하면 오류가 "삼키지"않도록 약속을 잡아야합니다.

response(theResponse) { 
    return theResponse 
      .json() 
      .then(arr => arr) // handle resolve 
      .catch(err => err); // handle reject 
} 
관련 문제