Swift 合并 return 来自 func 的发布者
Swift Combine return Publisher from func
我想 return 一个函数的发布者,如果它的输入参数有错误但它给出了一些编译错误。
下面是相同的函数。
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)'
总结
如何创建我们的发布者来return报错?
感谢任何正确方向的提示。
AnyPublisher
需要一个 Publisher
作为它的初始化参数,而你给它 URLError
。您的意思可能是说“我想要一个立即发布错误的发布者”。为此,您使用 Fail
发布者:
return AnyPublisher(
Fail<List, Error>(error: URLError(.cannotParseResponse))
)
我想 return 一个函数的发布者,如果它的输入参数有错误但它给出了一些编译错误。
下面是相同的函数。
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)'
总结
如何创建我们的发布者来return报错?
感谢任何正确方向的提示。
AnyPublisher
需要一个 Publisher
作为它的初始化参数,而你给它 URLError
。您的意思可能是说“我想要一个立即发布错误的发布者”。为此,您使用 Fail
发布者:
return AnyPublisher(
Fail<List, Error>(error: URLError(.cannotParseResponse))
)