취소 버튼을 눌렀는데 요청이 계속 돈다? AbortController로 진짜 취소하기
네트워크 요청에 진행 알림을 붙였습니다. 오래 걸릴 수 있으니 취소 버튼도 달았습니다. 사용자가 취소를 누르면 알림을 닫고 함수에서 return합니다. 끝났을까요? 아닙니다. 이미 시작된 fetch()는 여전히 응답이나 타임아웃을 기다릴 수 있습니다. 화면에서 사라진 것은 진행 표시이지 요청이 아닙니다. API 사용량도, 네트워크 연결도, 서버 작업도 계속될 수 있습니다. 이런 취소는 사실 안 보기에 가깝습니다. 진짜 취소를 만들려면 UI 이벤트가 네트워크 계층까지 전달되어야 합니다. Commit Quill은 VS Code 진행 알림의 취소 토큰을…