just
- 오직 하나의 요소를 포함하는 Observable 시퀀스를 생성
Observable<Int>.just(1)
// 1
// completed
of
- 타입 추론을 통한 Observable 생성
Observable<Int>.of(1, 2, 3, 4, 5)
// 1
// 2
// 3
// 4
// 5
// completed
Observable.of([1, 2, 3, 4, 5])
// [1, 2, 3, 4, 5]
// completed
from
- 오직 array 형태의 element만 받음
Observable.from([1, 2, 3, 4, 5])
// 1
// 2
// 3
// 4
// 5
// completed
empty
- 아무런 element를 방출하지 않음, completed 이벤트만 방출
Observable.empty()
// completed
never
- 아무런 이벤트를 방출하지 않음. Completed 이벤트 조차 방출하지 않음
Observable.never()
// 아무것도 방출되지 않음.
range
- start 부터 count크기 만큼의 값을 갖는 Observable을 생성
Observable.range(start: 3, count: 5)
// 3
// 4
// 5
// 6
// 7
// completed
그 외 Observable 이지만 방출하는 것들이 다른 것들. (사용법은 Observable과 같음)
Trait
- Single, Maybe, completable
- 이전의 Observable 보다는 좁은 범위의 Observable, 선택적으로 사용할 수 있음
- 좁은 범위의 Observable를 사용하는 이유는 가독성을 높이는 데 있음
Single
- .success(value) 또는 .error 이벤트를 방출
- .success(value) = .next + .completed
- 성공 또는 실패로 확인될 수 있는 1회성 프로세스 (예. 데이터 다운로드, 디스크에서 데이터 로딩)
- 정확히 한가지 요소만을 방출하는 Observable에 적합, asSingle로 변경가능
Completable
- .completed 또는 .error 만을 방출하며, 이 외 어떠한 값도 방출하지 않는다.
- 연산이 제대로 완료되었는지만 확인하고 싶을 때 (예. 파일 쓰기)
- asCompleted는 없다.
- Observable이 값요소를 방출한 이상 completable로 바꿀수 없다.
- create를 활용해 만들수 밖에 없음, 어떠한 값도 방출하지 않는다.
Maybe
- Single과 Completable을 섞어놓은 것
- success(value), .completed, .error를 모두 방출할 수 있다.
- 사용: 프로세스가 성공, 실패 여부와 더불어 출력된 값도 내뱉을 수 있을 때
'rxSwift' 카테고리의 다른 글
[rxSwift] Observable create 하는 법 (0) | 2022.10.20 |
---|---|
[rxSwift] Observable subscribe 하는 법 (0) | 2022.10.19 |
[rxSwift] Observable 에 대한 이해 (0) | 2022.10.18 |
[rxSwift] rxSwift의 심장, Observable 이란 (0) | 2022.10.18 |
rxSwift의 장단점 (0) | 2022.10.17 |