Fail
์ ๋ค๋ฆญ ๊ตฌ์กฐ์ฒด | ํน์ ์๋ฌ์ ํจ๊ป ์ฆ์ ์ข ๋ฃํ๋ Publisher
๋ ๊ฐ์ ์ด๋์ ๋ผ์ด์ ๋ฅผ ์ ๊ณตํ๋ค.
init(error:)
Error ํ๋กํ ์ฝ์ ์ฑํํ๋ ๊ฐ์
error
์ธ์์ ๋๊ฒจ์ฃผ์ด ํด๋น ์๋ฌ๋ฅผ ๋ด๊ณ ์ฆ์ ์ข ๋ฃํ๋ Publisher๋ฅผ ๋ง๋ ๋ค.
init(outputType:failure:)
Error ํ๋กํ ์ฝ์ ์ฑํํ๋ ๊ฐ์
failure
์ธ์์ ๋๊ฒจ์ฃผ์ด ํด๋น ์๋ฌ๋ฅผ ๋ด๊ณ ์ฆ์ ์ข ๋ฃํ๋ Publisher๋ฅผ ๋ง๋ ๋ค.outputType
์๋ ํน์ Output ํ์ ์ ๊ฐ์ง Subscriber์ Publisher์ ํจ๊ป ๋์ํด์ผ ํ ๋ Output ํ์ ์ ๋ฉํ ํ์ ์ ๋๊ฒจ์ค๋ค.
Just๊ฐ ํน์ ๊ฐ์ ๋ด๋ ค์ฃผ๊ณ ์ข ๋ฃํ๋ค๋ฉด, Fail์ ํน์ ์๋ฌ์ ํจ๊ป ์ฆ์ ์ข ๋ฃํ๋ค.
Fail(error: error)
.sink(receiveCompletion: { _ in print("Combine Fail Error") }, receiveValue: { })
.store(in: &cancellables)
// Combine Fail Error
Emtpy๋ ๊ฐ์ ๋ด์ง ์์ผ๋ฏ๋ก receiveValue
ํด๋ก์ ์์๋ ๋์์ ํ์ธํ ์ ์๊ณ , receiveCompletion
ํด๋ก์ ์์ ์ข
๋ฃํ๋ ๋์์ ํ์ธํ ์ ์๋ค.
RxSwift
error
์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
Observable<Void>.error(error)
.subscribe(onError: { _ in print("RxSwift Fail Error") })
.disposed(by: disposeBag)
// RxSwift Fail Error
ReactiveSwift
init(error:)
์ด๋์
๋ผ์ด์ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
SignalProducer<Void, Error>(error: error)
.startWithFailed { _ in print("ReactiveSwift Fail Error") }
// ReactiveSwift Fail Error
Combine๊ณผ ๊ฐ์ด ๊ฐ์ ๋ด์ง ์์ผ๋ฏ๋ก startWithValues
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋์์ ํ์ธํ ์ ์๊ณ , startWithFailed
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฌ๋ฅผ ๋ด๋ ๋์์ ํ์ธํ ์ ์๋ค.
์ฐธ๊ณ
Last updated
Was this helpful?