toResponse()
함수 시그니처
toResponse: () => Promise<Response>
설명
현재 빌더에 구성된 URL과 RequestInit으로 fetch() 요청을 실행하고, 네이티브 Response 객체를 반환합니다.
응답 body를 직접 처리하거나 status, headers 등의 응답 정보를 확인해야 할 때 사용합니다.
toResponse() 자체는 새로운 RequestInit 또는 Header 속성을 추가하지 않습니다. 호출 시점까지 빌더에 설정된 값을 사용하여 요청을 실행합니다.
예제
import { dench, HTTPCache } from 'dench-fetch';
const api = dench('https://api.example.com');
const response = await api
.get('/users/1')
.cache(HTTPCache.NO_CACHE)
.toResponse();
console.log(response.status);
console.log(response.headers.get('Content-Type'));
const user = await response.json();
실행되는 요청의 RequestInit은 다음과 같습니다.
{
method: 'GET',
cache: 'no-cache',
}
반환값은 다음 네이티브 객체입니다.
Promise<Response>
주의사항
toResponse()를 호출하는 순간 실제 네트워크 요청이 실행됩니다.- 응답의
ok가false이면Response를 반환하지 않고 오류를 던집니다. - 반환된
Response의 body는 일반적으로 한 번만 소비할 수 있습니다. 여러 방식으로 읽어야 한다면response.clone()을 사용하세요. - 같은 빌더에서 실행 메서드를 여러 번 호출하면 호출할 때마다 새로운 요청이 실행됩니다.