테스트 사이트 - 개발 중인 베타 버전입니다

비동기 마지막 요청만 처리 채택완료

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년 전
감사합니다 ~

토큰방식으로 어찌해결했네요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인