[英]how can i return value from this function?
https://coinpaprika.github.io/coinpaprika-api-swift-client/index.html
func gettingFunction(name: String){
Coinpaprika.API.coins().perform { (response) in
switch response {
case .success(let coins):
return coins[0].id // i want return this value
case .failure(let error):
print(error)
// Failure reason as error
}
}
}
这是一个异步调用,因此您可以使用completion
来执行此操作。 您可以通过值完成传递Result
类型
func gettingFunction(name: String, _ completion: @escaping (Result<Int, Error>) -> Void {
Coinpaprika.API.coins().perform { response in
switch response {
case .success(let coins):
completion(.success(coins[0].id))
case .failure(let error):
print(error)
completion(.failure(error))
}
}
}
用法
gettingFunction(name: "asd") { result in
switch result {
case .success(let id):
print("ID is:", id)
case .failure(let error):
print("Error is:", error)
}
}
如果要使用另一个 function 中的值。 您应该在.success
案例中调用此 function,因为在这种情况下我们有 ID 值。
gettingFunction(name: "asd") { result in
switch result {
case .success(let id):
print("ID is:", id)
anotherFunction(id: id)
case .failure(let error):
print("Error is:", error)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.