AsyncSubject는 Observable이 emit한 마지막 값만 emit 하며 Observable이 complete된 후에만 emit 된다. 즉, onCompleted 를 기다렸다가 마지막에 emit 받은 값만 emit 한다.
import RxSwift
let disposeBag = DisposeBag()
let asyncSubject1 = AsyncSubject<String>()
asyncSubject1.subscribe(
onNext: { value in
print("Value: \(value)")
},
onError: { error in
print("Error: \(error)")
},
onCompleted: {
print("Completed")
}
).disposed(by: disposeBag)
asyncSubject1.onNext("A")
asyncSubject1.onNext("B")
asyncSubject1.onNext("C")
asyncSubject1.onCompleted()
// Output : C
AsyncSubject는 error가 발생할 경우 어떤 item도 emit하지 않고 error만 전달한 후 종료된다.
https://reactivex.io/documentation/subject.html
'iOS > RxSwift' 카테고리의 다른 글
[RxSwift] Observable 필터링 연산자 정리 (0) | 2025.02.01 |
---|---|
[RxSwift] Observable 항목 변환 메서드 정리 (0) | 2024.12.11 |
[RxSwift] Observable 생성 관련 메서드들 (0) | 2024.12.03 |
[UIKit/RxSwift] UITableView를 RxSwift로 구현하는 방법 (0) | 2024.12.02 |