[Fix] 응답 완전히 반환 시 요청 보낼 수 있도록 isLoading 추가 #199
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🖥️ Preview
전
pending.mov
후
198.2.mov
close #198
✏️ 한 일
❗️ 발생한 이슈 (해결 방안)
요청을 보낼 때 pending이 4~5개씩 계속 쌓이는 문제가 있었다.
백엔드에서 사람을 1000명 이상 쐈을 때 발생하는 서버 부하 요청 오류인 것 같았다.
이 오류를 입증하고자 다시 영상을 촬영해보니 기존에 throttle 을 한 번 걸어줘서 부하가 덜 나는 것 같았다.
그러나 preview를 보면 throttle 걸기 전에는 pending이 4개씩 쌓이는 현상이 목격됐다.
안정성을 위해 useFetch 훅에서 isLoading 상태를 추가하여, 요청이 완전히 반환 시에 true로 반환하고, 새로고침 버튼 throttle 로직에 조건문으로 추가해주었다.
따라서 요청이 완전히 반환되었을 때 다시 balance API 요청을 보낼 수 있도록 해주었다.
이렇게 throttle과 로딩 상태를 모두 걸어주고 난 후 확인 결과, 각 선택지별 700명 이상 트래픽이 몰렸음에도 불구하고 pending이 아무리 빨리 눌러도 1-2개정도밖에 쌓이지 않았다.
❓ 논의가 필요한 사항