많은 최신 JavaScript 애플리케이션은 Fetch API를 사용하여 HTTP 요청을 수행합니다. Fetch API는 Response 객체로 해석되는 Promise 객체를 반환합니다. Response 개체를 사용하여 응답의 상태 코드, 헤더 및 본문에 액세스할 수 있습니다.
때때로 서버는 오류를 나타내는 HTTP 상태 코드로 응답합니다. 예를 들어, 요청한 리소스를 찾을 수 없는 경우 서버는 404 상태 코드로 응답할 수 있습니다. 기본적으로 Fetch Promise는 서버가 2xx가 아닌 상태 코드로 응답할 때 거부하지 않습니다.
이로 인해 코드 오류를 처리하기가 어려워질 수 있습니다. 이 문제를 해결하려면 Promise를 해결하거나 거부하기 전에 status() 함수를 사용하여 Response 개체의 상태 코드를 확인할 수 있습니다. 다음은 상태 코드가 OK가 아닐 때 status() 함수를 사용하여 Fetch Promise를 거부할 수 있는 방법에 대한 예입니다.
function fetchVehicle(id) { return dispatch => { return dispatch({ type: 'FETCH_VEHICLE', payload: fetch(`http://swapi.co/api/vehicles/${id}/`) .then(status) .then(res => res.json()) .catch(error => { throw(error); }) }); }; } function status(res) { if (!res.ok) { return Promise.reject() } return res; }
이 코드는 Response 객체의 상태 코드가 Fetch Promise를 거부하는 경우입니다. 괜찮지 않습니다. 그런 다음 .catch() 메서드를 사용하여 오류를 처리할 수 있습니다.
다음은 .catch() 메서드를 사용하여 오류를 처리하는 방법에 대한 예입니다.
fetchVehicle(1).catch(error => { console.log(error); });
이것은 코드는 오류를 콘솔에 기록합니다.
위 내용은 상태 코드가 정상이 아닐 때 가져오기 약속을 거부하고 오류를 포착하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!