Итак, я хочу сохранить наблюдаемое в действии (не выбрасывая) даже после ввода onError()
, чтобы я мог ввести onNext()
Я уже подписан на этот ответ
, добавив .catchError()
или .catchErrorReturn()
, но это не сработало так, как я ожидал
(примечание: я запускаю этот код на детской площадке)
let bag = DisposeBag()
let data = PublishSubject<Observable<Int>>()
data.debug("debug").flatMap({
$0.map({data in
return data
}).catchError({err in
return Observable.empty()
})
}).subscribe(onNext:{
print($0)
},onCompleted:{
print("end")
}).disposed(by: bag)
let inputData = PublishSubject<Int>()
data.onNext(inputData)
inputData.onNext(1)
inputData.onNext(2)
inputData.onError(MyError.anError)
inputData.onNext(2)
фактический результат я получаю
1
2
ожидаемый результат, который я хочу
1
2
2