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 ErrorEmtpy๋ ๊ฐ์ ๋ด์ง ์์ผ๋ฏ๋ก receiveValue ํด๋ก์ ์์๋ ๋์์ ํ์ธํ ์ ์๊ณ , receiveCompletion ํด๋ก์ ์์ ์ข
๋ฃํ๋ ๋์์ ํ์ธํ ์ ์๋ค.
RxSwift
error ์คํผ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
Observable<Void>.error(error)
.subscribe(onError: { _ in print("RxSwift Fail Error") })
.disposed(by: disposeBag)
// RxSwift Fail ErrorReactiveSwift
init(error:) ์ด๋์
๋ผ์ด์ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค.
SignalProducer<Void, Error>(error: error)
.startWithFailed { _ in print("ReactiveSwift Fail Error") }
// ReactiveSwift Fail ErrorCombine๊ณผ ๊ฐ์ด ๊ฐ์ ๋ด์ง ์์ผ๋ฏ๋ก startWithValues ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋์์ ํ์ธํ ์ ์๊ณ , startWithFailed ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฌ๋ฅผ ๋ด๋ ๋์์ ํ์ธํ ์ ์๋ค.
์ฐธ๊ณ
Last updated
Was this helpful?