MZgaMeZone / gaMeZone

M부터 Z까지 모두를 위한 미니게임 사이트
2 stars 3 forks source link

logout시 userToken이 바로 삭제 되지 않는 문제 #253

Closed ksknote closed 1 year ago

ksknote commented 1 year ago

logout시userToken이 localstorage에서 삭제되지만, getItem으로 가져와집니다. 두더지게임, 자유게시판, 인증게시판 (로그인 유저 정보 조회 api를 사용하는 페이지) 등에서 유저토큰이 있다고 여겨져 조건문을 통과 하여 api요청이 진행되고 localstorage에서 삭제된 상태이기 때문에 에러가 발생합니다.

아래 내용 참고 부탁드립니다.

"getItem 메서드를 사용하여 값을 가져올 때, 이전에 저장된 값을 반환할 수 있습니다. 이는 로컬스토리지에 대한 캐싱 메커니즘 때문입니다. 브라우저는 로컬스토리지를 일정 기간 동안 캐시로 유지하여 빠른 액세스를 제공합니다. 따라서 로컬스토리지에서 항목을 삭제하더라도 브라우저는 이전에 캐시된 값을 반환할 수 있습니다. 일반적으로 이러한 변경 사항은 브라우저의 캐시 동작에 따라 다르며, 일반적으로 몇 초에서 몇 분 정도의 시간이 소요될 수 있습니다."

ksknote commented 1 year ago

localstorage에서 getItem 하는 위치에 따라 달랐음 전역변수에 할당했던 경우 삭제 후에도 일정시점 호출이 되었고, 필요한 시점에 가져오도록 수정한 결과 정상적으로 삭제가 반영되었음.

추가적으로 자유게시판, 인증게시판에서는 유저토큰 유무 조건문을 추가하여 에러를 방지하였음