0

我正在一个 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< Void, NoError >”

最终,我只想打印出错误,然后返回。

4

1 回答 1

0

嘎嘎。

我之前曾尝试过一些 flatMapError 工作,但让它与以下内容一起工作:

.flatMapError({ error -> SignalProducer<Void, NoError> in
    return SignalProducer.empty
    })
于 2018-07-17T19:17:40.907 回答