Edd*_*ion 11 scala observable observer-pattern rx-java
当我想在创建Observable后添加元素时,如何实现场景,是否可以完成?在Observer模式中,我只会触发事件左右.你有什么想法吗?
import rx.lang.scala._
val target = Observable(1,2,3,4)
val subscription1 = target subscribe(println(_))
val subscription2 = target subscribe(println(_))
def addToObservable(toAdd: Int, target: Observable[Int]): Observable[Int] = {
target/*.addElementAndNotifyObservers(toAdd)*/
}
addToObservable(4, target) //should print 4 on all subscriptions
addToObservable(6, target) //should print 6 on all subscriptions
Run Code Online (Sandbox Code Playgroud)
Pet*_*ter 11
你不能 - 不是你创造的可观察物.你需要的是一个Subject,你可以使用它发出值.
Subject基本上既是一个Observable也是一个Observer.
例如:
import rx.lang.scala._
import rx.lang.scala.subjects._
val subject = ReplaySubject[Int]()
val initial = Observable(1,2,3,4)
val target = initial ++ subject // concat the observables
val subscription1 = target subscribe(println(_))
val subscription2 = target subscribe(println(_))
subject.onNext(4) // emit '4'
subject.onNext(6) // emit '6'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6527 次 |
| 最近记录: |