error()
함수 시그니처
error: (callback: (error: unknown) => void) => R
설명
요청 과정에서 오류가 발생했을 때 실행할 콜백을 등록합니다.
콜백은 다음 오류를 처리할 때 호출됩니다.
- 네트워크 요청 실패
- 요청 중단 또는 timeout
- 응답의
ok가false인 HTTP 실패 응답
HTTP 실패 응답은 다음 형식의 Error로 변환됩니다.
new Error(`API request failed with status ${response.status}: ${response.statusText}`)
예제
import { dench } from 'dench-fetch';
const api = dench('https://api.example.com');
try {
await api
.get('/missing-resource')
.error((error) => {
console.error('API 요청 실패:', error);
})
.toResponse();
} catch (error) {
console.error('호출부에서 오류 처리:', error);
}
error()는 RequestInit이나 Header를 변경하지 않습니다. 빌더 내부 설정에는 다음 콜백이 저장됩니다.
{
errorcallback: callback
}
주의사항
- 콜백이 실행된 뒤에도 원래 오류는 다시 던져집니다. 필요한 경우 요청 실행부에서
try...catch를 사용하세요. error()를 같은 빌더 체인에서 여러 번 호출하면 마지막 콜백이 이전 콜백을 덮어씁니다.- HTTP 실패 오류에는 현재 응답 body가 포함되지 않습니다.