我在iOS项目中使用ReactiveSwift 3.x,无法将一个SignalProducer
提供的错误映射到另一个。
我的NoError SignalProducer
是:
func foo() -> SignalProducer<Void, NoError>
我想映射的foo()
中调用的函数是:
func bar() -> SignalProducer<Data, MyError>
我目前有以下几种:
func foo() -> SignalProducer<Void, NoError> {
// Stuff happens here...
return bar()
.map({ _ -> Void in
return ()
})
.mapError({ error -> NoError in
print(error.localizedDescription)
// I do not want to handle this error
return NoError
})
}
但我得到了错误:
'mapError'产生'SignalProducer<Void,F>',不是预期的上下文结果类型"SignalProducer<无效,无错误>'
最终,我只想打印出错误,然后返回。
Quack。
我早些时候尝试过一些flatMapError工作,但它能与以下内容一起工作:
.flatMapError({ error -> SignalProducer<Void, NoError> in
return SignalProducer.empty
})