Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FE] fix: api 중복 요청 방지 #897

Merged
merged 3 commits into from
Oct 22, 2024

Conversation

chysis
Copy link
Contributor

@chysis chysis commented Oct 22, 2024


먼저.. PR이 늦어져서 미안합니다!

🚀 어떤 기능을 구현했나요 ?

  • POST 요청에 대한 API 중복 호출을 방지했습니다. 형광펜, 리뷰 제출, url 생성 요청에 대해 작업했습니다.
  • get 요청의 경우 useSuspenseQuery가 캐싱하고 있기 때문에 staleTime 동안에는 별도로 api 호출이 되지 않으며, 따로 처리해주지 않았습니다.

🔥 어떻게 해결했나요 ?

  • react query v5에서는 요청 중인지를 나타내는 isPending 상태를 기본적으로 제공합니다.

  • onMutate에서 isPending이라면 바로 return하도록 처리했습니다. onMutate는 mutate를 실행하기 이전에 먼저 실행될 코드가 작성되는 부분입니다.

  • 기존에 리뷰 제출 버튼을 빠르게 눌렀을 때 post 요청이 두 번씩 갔었는데, 호출 방지 이후에는 한 번만 가는 것을 확인했습니다.

  • 형광펜의 경우 CPU throttle을 걸어두고 빠르게 버튼을 눌렀을 때 한 번만 가는 것을 확인했습니다.

  • url 생성 버튼의 경우 디바운스와 함께 적용되어 있는데, 빠르게 버튼을 눌렀을 때 한 번만 가는 것을 확인했습니다.

📝 어떤 부분에 집중해서 리뷰해야 할까요?

📚 참고 자료, 할 말

@chysis chysis added this to the 6차 스프린트: 최종장 milestone Oct 22, 2024
@chysis chysis self-assigned this Oct 22, 2024
@chysis chysis linked an issue Oct 22, 2024 that may be closed by this pull request
Copy link
Contributor

@ImxYJL ImxYJL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

생각보다 간단하게 끝나서 다행입니다요~

Copy link
Contributor

@soosoo22 soosoo22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

빠르게 구현했네요~ 수고했어요 에프이!

Copy link
Contributor

@BadaHertz52 BadaHertz52 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

api 중복 요청 방지하느라 고생했어요!!

@@ -19,7 +19,9 @@ const useMutateHighlight = ({
}: UseMutateHighlightProps) => {
const mutation = useMutation({
mutationFn: (newEditorAnswerMap: EditorAnswerMap) => postHighlight(newEditorAnswerMap, questionId),

onMutate: () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@BadaHertz52 BadaHertz52 merged commit 5c1e177 into develop Oct 22, 2024
5 checks passed
skylar1220 pushed a commit that referenced this pull request Nov 5, 2024
* fix: 리뷰 제출 api 중복 요청 방지

* feat: post 요청에 대한 api 중복 요청 방지
@donghoony donghoony deleted the fe/fix/863-duplicated-request branch November 17, 2024 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[FE] api 중복 요청을 방지한다.
4 participants