• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

초당 요청횟수 제한이 있는 경우도 처리할 수 있나요?

22.01.02 15:54 작성 조회수 572

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

Highballs님의 프로필

Highballs

질문자

2022.01.05

답변 너무너무 감사합니다!

 

PS. 반응형 프로그래밍 너무 재밌어요! 흥미를 불러일으켜주셔서 너무 감사합니다!