가져오기 응답 처리의 약속 및 약속 연결에 대한 통찰
fetch() API를 실험하는 동안 동작과 관련된 흥미로운 관찰이 나타났습니다. ~의 .json().
관찰:
.then()에 전달된 객체 리터럴 내에서 response.json()을 반환하면 Promise 객체가 획득됩니다. 그러나 .then() 핸들러에서 직접 반환되면 실제 값을 반환합니다.
설명:
response.json을 호출하면 다음에 대한 또 다른 약속을 검색합니다. 아직 로드되지 않은 HTTP 응답 본문입니다. 헤더를 수신하자마자 응답 객체를 수신하지만 본문을 아직 사용할 수 없기 때문입니다.
이것이 Promise의 기본적인 측면입니다. Promise는 콜백 함수에서 Promise 반환 및 후속 채택을 활성화하여 중첩 없이 연결성을 허용합니다.
대체 접근 방식:
JSON을 기다린 후 응답 상태에 액세스하려면 본문에 다른 접근법을 채택할 수 있습니다.
다음을 사용하여 중간 결과를 반환합니다. 중첩된 .then() 체인:
fetch(url) .then(response => response.json()) .then(data => ({ data: data, status: response.status })) .then(res => { console.log(res.status, res.data.title); });
비동기 기능 활용 및 대기:
const response = await fetch(url); const data = await response.json(); console.log(response.status, data.title);
주의:
항상 응답 상태를 확인하기 전에 확인하는 것이 좋습니다. JSON 데이터가 항상 포함되지 않을 수 있으므로 응답 콘텐츠에 액세스합니다.
위 내용은 `response.json()`이 Fetch에서 Promise를 반환하는 이유는 무엇이며 결과에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!