찾다

 >  Q&A  >  본문

Promise 응답에서 데이터를 반환하는 방법

<p>Promise에서 데이터를 올바르게 반환하는 방법은 무엇입니까? 다음 코드가 있습니다: </p> <pre class="brush:php;toolbar:false;">const axios = require("axios").default; 비동기 함수 getApiData(pathName: 문자열, 로케일: 문자열) { const {axiosRequestUrl} = getApiVars(pathName, locale); const axiosClient = axios.create({ 기본 URL: process.env.CONTENT_DOMAIN, 프록시: 거짓 }) return axiosClient.get(axiosRequestUrl)을 기다리고 있습니다. } 기본 함수 getPageData() 내보내기 { getApiData('공유 콘텐츠', 'en-us') .then((데이터) => { 데이터를 반환합니다. }) .catch((오류: 임의) => { // 여기에 오류를 기록합니다. }) }</pre> <p>그러나 구성 요소에서 getPageData를 사용하려고 하면 아무것도 반환하지 않는 void 함수가 표시됩니다. 이유는 무엇입니까? 내가 여기서 무엇을 놓치고 있는 걸까요? </p>
P粉988025835P粉988025835483일 전444

모든 응답(1)나는 대답할 것이다

  • P粉426906369

    P粉4269063692023-07-29 00:59:48

    적어도 getPageData 함수 자체는 getApiData 호출에서 반환된 Promise를 반환하는 비동기 함수(코드 가독성을 높이기 위해)여야 합니다.

    예:


    으아아아

    두 가지 추가 팁:

    데이터를 읽으려면 이 Promise를 해결해야 합니다.

    여기에서 또는 더 높은 호출 계층 구조에서 오류 처리를 수행하도록 결정할 수 있습니다.

    경험 법칙:

    비동기 함수는 단지 Promise 객체를 반환하는 함수일 뿐입니다.

    실제 데이터는 Promise가 해결된 경우에만 반환됩니다(await 또는 .then() 사용)

    회신하다
    0
  • 취소회신하다