【问题标题】:Cannot convert return expression of type '(AnyPublisher<DemoObject, Never>, APIError)' to return type 'AnyPublisher<DemoObject, APIError>'无法将类型“(AnyPublisher<DemoObject, Never>, APIError)”的返回表达式转换为返回类型“AnyPublisher<DemoObject, APIError>”
【发布时间】:2021-05-09 07:51:53
【问题描述】:
func testData()->AnyPublisher<DemoObject, APIError> {

    var data = DummyData().decodeClaimDetails()!
    
    return (Just(data).eraseToAnyPublisher(),
            APIError.httpError(200))
    
}

我收到了这个错误。 无法将类型“(AnyPublisher, APIError)”的返回表达式转换为返回类型“AnyPublisher

如何返回 AnyPublisher 类型?

【问题讨论】:

    标签: swift


    【解决方案1】:

    你想要

    func testData()->AnyPublisher<DemoObject, APIError> {
        let d: DemoObject = // ...
        return Just<DemoObject>(d)
            .setFailureType(to: APIError.self) // <--
            .eraseToAnyPublisher()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多