검색 입력창 자동완성 만들면서, 타이핑할 때마다 이전 요청을 취소하려고 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