AbortController
AbortController 인터페이스는 javascript로 fetch하는 network 요청을 중단할 수 있게 해주는 api 입니다.
const controller = new AbortController();
const signal = controller.signal;
fetch(url, { signal }).then(function(response) {
...
})
abortBtn.addEventListener('click', function() {
controller.abort();
console.log('Download aborted');
});controller.abort(); 가 실행이 되면 fetch함수는 AbortError(DOMException)으로 reject 됩니다.
AbortSignal.timeout 를 이용하면 timeout로 설정할 수 있습니다.