본문 바로가기
Q&A해결2026년 7월 29일1분 읽기

언마운트 때 fetch 취소하려고 AbortController를 썼는데 콘솔에 AbortError가 계속 찍혀요

f
fetch_gyuwon
조회 542댓글 4

검색 입력창 자동완성 만들면서, 타이핑할 때마다 이전 요청을 취소하려고 AbortController를 붙였습니다. 컴포넌트 언마운트될 때도 취소하려고 cleanup에도 넣었고요.

useEffect(() => {
  const ac = new AbortController()
  fetch(url, { signal: ac.signal })
    .then(r => r.json())
    .then(setResults)
  return () => ac.abort()
}, [url])

동작 자체는 잘 됩니다. 근데 콘솔에 Uncaught (in promise) DOMException: The user aborted a request. 이게 계속 뜨네요. 특히 dev에서 컴포넌트가 처음 뜰 때부터 한 번 찍혀요. 기능은 되는데 에러가 남으니 찜찜합니다. 이거 놔둬도 되나요, 아니면 뭔가 잘못한 건가요?

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록