2013-11-26 26 views
11

Gözlemlenebilir'in oluşturulmasından sonra eleman eklemek istediğimde senaryoyu nasıl uygulayabilirim, hiç yapılmaz mı? Gözlemci modelinde sadece olayı falan ateşlerdim. Bazı fikirlerin var mı?rx oluşturulduktan sonra eleman ekleme Gözlemlenebilir

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 

cevap

11

Yapamadığınız gözlemlenebilir değil. İhtiyacınız olan şey, değerlerini yayınlayabileceğiniz bir Subject. Subject temel olarak hem bir Observable hem de bir Observer'dir. Örneğin

:

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' 
İlgili konular