카테고리 없음
axios API 요청 취소하기
순코딩
2025. 6. 17. 13:21
이미 보내버린 API 요청을 취소해보자
제발 돌아와 API 야
미리보기
코드
import axios, { CancelTokenSource } from "axios";
const TestComponent = () => {
const [cancelTokens, setCancelTokens] = useState<CancelTokenSource[]>([]);
////////// 게시물 업로드
const articleUpload = async () => {
// 취소 토큰 발급
const source = axios.CancelToken.source();
// 취소 토큰 배열에 추가
setCancelTokens((prev) => [...prev, source]);
// API 요청
const response = await axios.post(
// API 앤드포인트
"/autopress/articles",
// 요청 데이터
{
data: "test-test-test",
},
// 취소 토큰
{
cancelToken: source.token,
}
);
return response;
};
const cancelAllApi = () => {
// 순회하며 업로드 취소
cancelTokens.forEach((token) => {
token.cancel("API 요청 취소");
});
// 취소 토큰 초기화
setCancelTokens([]);
};
return (
<>
<Button variant="contained" color="primary" onClick={articleUpload}>
업로드
</Button>
<Button variant="contained" color="primary" onClick={cancelAllApi}>
모든 API 요청 취소
</Button>
</>
);
};
export default TestComponent;