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