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

[Fix] 카드 옵션 선택 시 POST 409 요청 오류 #203

Merged
merged 2 commits into from
Aug 23, 2024

Conversation

sooyeoniya
Copy link
Member

🖥️ Preview

오류 화면

POST.409.mov
스크린샷 2024-08-23 오후 4 15 15 스크린샷 2024-08-23 오후 4 15 08

버그 수정 후

200.POST.409.mov

close #200

✏️ 한 일

카드 옵션 선택 시 카드 옵션 연타를 계속 하면 post 보낼 때 409 오류가 뜬다.
카드 연타할 경우 POST가 두 번 보내져서 이미 요청한 사용자에 대해서 계속 요청 보내지는 오류 발생하는 것이었다.
throttle 걸어줘서 POST 요청을 1초 정도 딜레이 줘서 요청이 한 번만 가도록 수정했다.

수정 후 몇 번이나 테스트했는데 409 오류는 발생하지 않았다.
우연히 요청을 한 번밖에 못보낸 건지는 모르겠지만 우선 안전성을 위해 처리해뒀다.

const [throttle, setThrottle] = useState<boolean>(false);

const {
    data: postSelectedRushOptionResponse,
    isSuccess: isSuccessPostSelectedRushOption,
    isLoading: isLoadingPostSelectedRushOption,
    fetchData: postSelectedRushOptionApply,
} = useFetch<RushEventStatusCodeResponse, { token: string; optionId: CardOption }>(
    ({ token, optionId }) => RushAPI.postSelectedRushOptionApply(token, optionId),
    false
);

const handleCardSelection = async (optionId: CardOption) => {
    if (!throttle && !isLoadingPostSelectedRushOption) {
        await postSelectedRushOptionApply({
            token: cookies[COOKIE_KEY.ACCESS_TOKEN],
            optionId,
        });
        dispatch({ type: RUSH_ACTION.SET_USER_OPTION, payload: optionId });
        setThrottle(true);
        setTimeout(() => {
            setThrottle(false);
        }, 1000);
    }
};

❗️ 발생한 이슈 (해결 방안)

❓ 논의가 필요한 사항

@sooyeoniya sooyeoniya added the fix 버그가 발생 label Aug 23, 2024
@sooyeoniya sooyeoniya requested a review from jhj2713 August 23, 2024 07:28
@sooyeoniya sooyeoniya self-assigned this Aug 23, 2024
Copy link

빌드를 성공했습니다! 🎉

@sooyeoniya sooyeoniya merged commit cb70437 into dev Aug 23, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix 버그가 발생
Projects
None yet
Development

Successfully merging this pull request may close these issues.

카드 옵션 선택 시 409 요청 오류
1 participant