Future
1. 创建一个 Future 实例
Future 实例import Combine
let future = Future<Int, Error> { promise in
// 假设我们有一个异步操作
DispatchQueue.global().asyncAfter(deadline: .now() + 2) {
// 操作完成,返回结果
promise(.success(42)) // 你可以选择调用 .failure(error) 来返回错误
}
}2. 订阅 Future
Futurefuture.sink { completion in
switch completion {
case .finished:
print("Future completed successfully")
case .failure(let error):
print("Future failed with error: \(error)")
}
} receiveValue: { value in
print("Received value: \(value)")
}3. 处理多次结果
4. 错误处理
5. 结合其他 Publisher 使用
总结
Last updated