1. PublishSubject 有点类似 LiveData 可以延时等待通知结果
可以取消
private lateinit var resultSubject: PublishSubject<Boolean>
private lateinit var cancelSubject: PublishSubject<Boolean>
resultSubject
.takeUntil(cancelSubject)
.single(false)
链接:https://www.jianshu.com/p/7b1f57bd1489
takeUtil():持续接收第一Obserable(调用takUtil的Obserable)发送的数据,当第二Obserable(takUtil参数中的Obserable)发送数据时两个Obserable会同时取消订阅
当调用
cancelSubject.onNext(true) 时 会直接返回
single(false)值 也就是可以随时取消进行中的任务