Swift结合从func返回发布者

标签 swift combine publisher

如果输入参数中有错误,我想返回函数的发布者,但它给出了一些编译错误。
下面是相同的功能。

func fetchList(input: String) -> AnyPublisher<List, Error> {
    guard let url = URL(string: input)  else {            
        return AnyPublisher(URLError(.cannotParseResponse))
    }
    //some call for to get the List which returns publisher
}
错误 Cannot invoke initializer for type 'AnyPublisher<_, _>' with an argument list of type '(URLError)' 摘要
如何创建我们的发布者以返回错误?
感谢您提供正确方向的任何提示。

最佳答案

AnyPublisher需要 Publisher作为它的初始化参数,而你给它 URLError .您可能想说“我想要一个立即发布错误的发布者”。为此,您可以使用 Fail 出版商:

return AnyPublisher(
    Fail<List, Error>(error: URLError(.cannotParseResponse))
)

关于Swift结合从func返回发布者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62526745/

相关文章:

swift - 我不能在解析时使用 nil 来表示 'undefined' 吗?

android - 如何链接到 Android Amazon Appstore 上的所有发布者应用

ios - 我可以创建一个可以被多个 ContentView 使用的通用 ObservableObject 类吗?

SwiftUI 和 Combine,如何创建可重用的发布者来检查字符串是否为空

php - 网络日历发布(.ical 或 ics)是由发布者推送还是由订阅者拉取?

publish-subscribe - 为什么订阅者在不同情况下请求不同数量的元素?

ios - CocoapPods iOS Swift 中的 GoogleMaps SDK 错误

swift - 我可以将一个枚举限制为另一个枚举的某些情况吗?

ios - 如何在不使用 Storyboard的情况下创建通知内容扩展

swiftui - 与 SwiftUI 和 Combine 的双向绑定(bind)