映射到 AnyPublisher Void
map to AnyPublisher Void
我有一个像这样接受发布者参数的函数
func runPublisher(publisher: AnyPublisher<Void, Error>, shouldLoad: Bool = true) {
}
当我尝试转换为发布者时,出现此错误
let publisher = provider.check(credentials: cred)
.eraseToAnyPublisher()
.tryMap({ (data) in
})
.mapError({ (error) -> Error in
return error
})
.map { _ in
return ()
}
runPublisher(publisher: publisher)
我收到错误
Cannot convert value of type 'Publishers.Map<Publishers.MapError<Publishers.TryMap<AnyPublisher<BaseResponseData<AuthResponse>, MoyaError>, ()>, Error>, ()>' to expected argument type 'AnyPublisher<Void, Error>'
您需要使用 .eraseToAnyPublisher
let publisher = provider.check(credentials: cred)
.tryMap({ (data) in
})
.mapError({ (error) -> Error in
return error
})
.map { _ in
return ()
}
.eraseToAnyPublisher()
我有一个像这样接受发布者参数的函数
func runPublisher(publisher: AnyPublisher<Void, Error>, shouldLoad: Bool = true) {
}
当我尝试转换为发布者时,出现此错误
let publisher = provider.check(credentials: cred)
.eraseToAnyPublisher()
.tryMap({ (data) in
})
.mapError({ (error) -> Error in
return error
})
.map { _ in
return ()
}
runPublisher(publisher: publisher)
我收到错误
Cannot convert value of type 'Publishers.Map<Publishers.MapError<Publishers.TryMap<AnyPublisher<BaseResponseData<AuthResponse>, MoyaError>, ()>, Error>, ()>' to expected argument type 'AnyPublisher<Void, Error>'
您需要使用 .eraseToAnyPublisher
let publisher = provider.check(credentials: cred)
.tryMap({ (data) in
})
.mapError({ (error) -> Error in
return error
})
.map { _ in
return ()
}
.eraseToAnyPublisher()