Deferred
์ ๋ค๋ฆญ ๊ตฌ์กฐ์ฒด | ์๋ก์ด Subscriber๋ฅผ ์ํ Publisher๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ ๊ณต๋ ํด๋ก์ ๋ฅผ ์คํํ๊ธฐ ์ ์ ๊ตฌ๋ ์ ๊ธฐ๋ค๋ฆฌ๋ Publisher
์ด๋์ ๋ผ์ด์ ๋ ํ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ๋๋ค.
createPublisher
:subscribe
๋ฅผ ํธ์ถํ ๋ ์คํํ ํด๋ก์ . ํด๋ก์ ๋ ์ง์ฐ ์คํํ Publisher๋ฅผ ๋ฐํํ๋ค.
์ด๋์
๋ผ์ด์ ๋ ์ง์ฐ ์คํํ Publisher๋ฅผ ๋ง๋๋ ํด๋ก์ ๋ฅผ ๋ฐ๋๋ค. ์ด ํด๋ก์ ๋ Deferred
Publisher๋ฅผ ๊ตฌ๋
ํ ๋๋ง๋ค ์คํ๋์ด ๊ฐ๊ฐ์ ์ต์ ๋ฒ๊ฐ ์๋ก์ด ์คํธ๋ฆผ์ ๋ฐ๋๋ก ํ๋ค.
Deferred { Just(Void()) }
.sink(receiveValue: { print("Combine Deferred") })
.store(in: &cancellables)
// Combine Deferred
RxSwift
deferred
์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
Observable.deferred { Observable.just(Void()) }
.subscribe(onNext: { print("RxSwift Deferred") })
.disposed(by: disposeBag)
// RxSwift Deferred
ReactiveSwift
ํด๋น ๋์์ ๊ตฌํํ๋ ์คํผ๋ ์ดํฐ๋ฅผ ์ ๊ณตํ์ง ์๋๋ค.
์ฐธ๊ณ
Last updated
Was this helpful?