receive
receive 方法的变体
receive 方法的变体func receive(_ input: Input) -> Subscribers.Demandstruct IntSubscriber: Subscriber {
typealias Input = Int
typealias Failure = Never
func receive(subscription: Subscription) {
subscription.request(.max(3)) // 请求最多接收 3 个值
}
func receive(_ input: Int) -> Subscribers.Demand {
print("Received value: \(input)")
return .none // 不请求额外的值
}
func receive(completion: Subscribers.Completion<Never>) {
print("Completed: \(completion)")
}
}
let publisher = [1, 2, 3, 4, 5].publisher
let subscriber = IntSubscriber()
publisher.subscribe(subscriber)完整的 Subscriber 实现示例
Subscriber 实现示例关键点总结
Last updated