0
我有2個Angular(1.6.4)組件和一個服務。服務營造觀測2這樣(的CoffeeScript)...爲什麼我的Observable只發送消息給最近的用戶
// In service constructor
@observable = Rx.Observable.create (source) =>
source.next(123)
@observable2 = Rx.Observable.create (source) =>
@observer = source
$timeout =>
@observer.next(345)
, 1000
在我的控制器,我有這些行
//Component 1
service.observable.subscribe (v) => console.log('consumer A1: ' + v)
service.observable2.subscribe (v) => console.log('consumer A2: ' + v)
//Component 2
service.observable.subscribe (v) => console.log('consumer B1: ' + v)
service.observable2.subscribe (v) => console.log('consumer B2: ' + v)
我希望看到4控制檯日誌,而是我看到3(A1, B1,B2)。爲什麼當我從外面打電話時只有最後一次訂閱被調用,但是當它在裏面都被調用?有沒有辦法讓第二個例子調用兩者(最好是作爲Observable而不是Subject)?
如果我確實使用了主題,一切都按預期工作,但我仍然好奇它爲什麼不能像我期望的那樣可以觀察到。
我明白了,所以我認爲我錯過的部分是每次有人訂閱它時創建一個新的觀察者。那是我錯過的部分。 – Jackie