ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Rxswift Debounce / Throttle
    RxSwift 2021. 6. 29. 10:07

    Observable 필터링

    소스 Observable에서 선택적으로 항목을 배출하는 연산자들

     

    Debounce

    • Debounce — Observable의 시간 흐름이 지속되는 상태에서 다른 항목들은 배출하지 않고 특정 시간 마다 그 시점에 존재하는 항목 하나를 Observable로부터 배출한다

    특정시간이 끝나서 가장 최근의 값을 방출한다. 

    - 사용예제 : 사용자가 버튼을 폭풍 누르다가 더이상 누르지 않고, 지정한 시간이 지날때 가장 마지막 클릭 이벤트를 준다. (클릭 이벤트 말고도 이벤트가 쏟아지다가 마지막꺼를 해야되는경우 아주 좋은듯)

    자동완성

    연관 검색어 노출

     

     

    throttle

    이벤트가 처음 방출되면 타이머동안 어떤 이벤트도 방출되지 않는다.

    - 사용예제 : 사용자가 버튼을 폭풍 누를때 여러번의 이벤트를 일정 시간 동안 한번만 실행되도록 한다. 

    스크롤을 빨리 내려서 3초 간격으로 몇천개 데이터를 요청할때

     

    latest를 true 로 하면 첫번째꺼 + 마지막꺼 이렇게 두번 실행되고

    오직 한번만 발생하고 싶다 그러면 latest를 false로 하면된다!

     

    출처 : https://eunjin3786.tistory.com/80

    위 잘 설명된 마블이 있어서 가지고 왔습니다 감사합니당...!

     

    예제를 사용해보다가 궁금했던 점 seconds를 넣을때 아래를 참고하면 좋다.

     

    1 second == 1,000 millisecond
    1 millisecond == 1,000 microsecond
    1 microsecond == 1,000 nanosecond

    1 second == 1,000,000,000 nanosecond

    728x90

    'RxSwift' 카테고리의 다른 글

    RxSwift 스터디 계획 따라가기  (0) 2021.07.12
    RxSwift Subject  (0) 2021.07.09
    Rxswift (map, flatmap, compactmap) 정리  (0) 2021.06.28
    Rxswift (flatMap, flatMapFirst, flatMapLatest)  (0) 2021.06.24
    RxSwift  (1) 2021.06.17

    댓글

Designed by Tistory.