Promise 응답에서 데이터를 반환하는 방법
P粉988025835
2023-07-28 10:32:51
<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>
적어도 getPageData 함수 자체는 getApiData 호출에서 반환된 Promise를 반환하는 비동기 함수(코드 가독성을 높이기 위해)여야 합니다.
예:
으아아아두 가지 추가 팁:
데이터를 읽으려면 이 Promise를 해결해야 합니다.
여기에서 또는 더 높은 호출 계층 구조에서 오류 처리를 수행하도록 결정할 수 있습니다.
경험 법칙:
비동기 함수는 단지 Promise 객체를 반환하는 함수일 뿐입니다.
실제 데이터는 Promise가 해결된 경우에만 반환됩니다(await 또는 .then() 사용)