LeeSen11/LearningCombine

关于Combine的自问自答

Opened this issue · 0 comments

Subscriber的意义?

除了使用Publisher的sink()或assign()方法之外,还可以使用Subscriber实现对Publisher的订阅。
两者的区别在于:

  • sink()和assign()是Publisher协议的扩展方法,这两个方法只能简单的对publisher进行监听。这两个方法拥有是否取消订阅的话语权。
  • Subscriber协议里面订阅的三个方法,receive(subscription)和receive(input)这两个方法控制接收的数据的数量,而receive(completion)方法监听publisher是否停止发送数据,因此是否取消订阅依赖于publisher