비동기 마지막 요청만 처리 채택완료
bonobono
4년 전
조회 3,460
어떤 버튼을 누르면 현재시간을 내려주는 api가 있을때
12:00 에 버튼을 누르고
12:01 에 버튼을 누르고
12:02 에 버튼을 눌렀을때
12:00, 12:01 에 누른게 가장늦게 데이터를 내려주는걸 방지하는 기술이 뭔가요...
무조건 마지막 요청의 데이터만 받아쓰고 싶은데 받아온 데이터가 마지막 요청의 데이터인지
어떻게 알 수 있는지 궁금합니다
도움 부탁드립니다
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
버튼을 눌렀을때 발생하는대로 응답하는 api에는
순서라는 개념이 존재하질 않습니다.
굳이 순서를 정해서 응답하길원한다면
db에서 lock 을 걸어서 처리하는 방법이거나
ajax로 처리할때 async 가 아닌 sync방식으로 응답을하면 위의 요소가 좀 줄어들겁니다.
업무처리가 주 목적인경우 serialize하게 처리되도록 프로세스를 개선하는게 필요할수있습니다.
만약
단일 사용자가 여러번의 동일 버튼 클릭에 의한것이라면
request시에 버튼을 비활성화 하고
callback을 받은 후에 활성화 처리하는 로직을 프론트에 심어서 제어하는게 조금더 나을수있습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
b
bonobono
4년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
토큰방식으로 어찌해결했네요