abort()
함수 시그니처
abort: (controller: AbortController) => R
관련 RequestInit 속성
{
signal: controller.signal
}
설명
요청에 사용할 AbortController를 설정합니다. 전달한 컨트롤러의 abort()를 호출하면 진행 중인 요청을 중단할 수 있습니다.
빌더 내부에는 컨트롤러와 해당 signal이 함께 저장됩니다.
{
abortController: controller,
options: {
signal: controller.signal,
},
}
예제
import { dench } from 'dench-fetch';
const api = dench('https://api.example.com');
const controller = new AbortController();
const request = api
.get('/slow-resource')
.abort(controller)
.toResponse();
controller.abort();
await request;
실제 RequestInit은 다음과 같습니다.
{
method: 'GET',
signal: controller.signal,
}
주의사항
AbortController는 한 번 중단되면 다시 사용할 수 없습니다. 빌더를 재사용할 때는 새로운 컨트롤러를 설정하세요.- 요청 중단은 오류로 처리됩니다.
error()콜백이 등록되어 있다면 콜백이 실행된 뒤 오류가 다시 던져집니다. timeout()과 함께 사용하면 제한 시간이 지났을 때 전달한 컨트롤러의abort()가 호출됩니다.