ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [RxSwift] subject
    프로그래밍/Swift 2021. 4. 16. 22:18

    1. BehaviorSubject

    subscribe하면, 디폴트값(핑크색 값)이 내려온다.

    그리고 계속해서 데이터가 발생하면 바로바로 내려온다.

    그러다가 두번째 subscribe가 발생하면, 마지막값(초록색)을 내려주고, 마찬가지로 계속해서 데이터가 발생할때마다 내려온다.

    도중에 subscribe를 했으니 맨위에 있는 것은 observable이다.

     

    Observable.just, Observable.from 이런것으로 만들어진 observable은 이미 생성할 때 데이터를 전부 가지고 있을 때의 경우인데, 여기서 쓰인 observable은 생성할 때 꼭 전체 데이터를 가지고 있어야 하는 것이 아닌, 나중에 데이터를 추가해서 넣어줄 수 있는 유형의 observable이다.

     

    만일 도중에 에러(그림상에서 X에 해당)가 발생하면, subscribe하는 대상들에게 모두 에러가 전파된다.

    stream은 한번 에러가 발생하면 종료되는데, 끝난 이후에 새롭게 subscribe해도 에러가 전파되어 종료됨(맨 아래 stream에 해당)

     

    2. PublishSubject

    가장 간단한 유형으로, 디폴트 값이 없는 것임.

    나중에 데이터가 생성되면 그때 전달이 됨.

     

    3. ReplaySubject

     

     

    디폴트 전달값은 없으며, subscribe가 될 때 지금까지 발생한 모든 데이터를 전달해줌.

     

     

    4. AsyncSubject

    끝이 나야 전달.

    그리고 가장 마지막 데이터만 전달이 되는 유형

    반응형

    댓글

Designed by Tistory.