映射包含错误的SignalProducer以返回NoError



我在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
})

相关内容

  • 没有找到相关文章

最新更新