작성
·
792
0
초당 2회 요청할 수 있는 API가 있는데
mergeMap에서 concurrent를 2로 설정하는 방식으로 해보았는데 이래도 429 too may request 에러가 나오더라구요
그래서 지금은 concatMap을 사용해서 처리하고 있는데,
rxjs가 익숙치 않다보니 초당 2회로 제한하는 아이디어가 잘 떠오르지 않습니다.
이런상황도 rxjs로 처리할 수 있는지 궁금해요!
답변 2
1
안녕하세요!
1초에 최대 2회만 뭔가 가능하게 하려면 scan과 timeinterval의 조합으로 가능할 것 같습니다.
각 이벤트마다 해당 이벤트와 이전 이벤트, 이전 이벤트와 그 이전 이벤트의 시간차가 1초를 넘지 않으면
이벤트 ----- (시간차 1) ----- 전 이벤트 ----- (시간차 2) ----- 전전 이벤트
즉 위에서 (시간차 1 + 시간차 2)가 1초를 넘지 않으면 현 이벤트에서 동작시 실행되지 않도록 하면 될 거에요.
이 알고리즘대로 프로그래밍 해보고 더 효율적인 방법이 있을지 찾아보시는것도 좋은 공부가 될 거에요. 🙂
0