我想創建一個可觀察和觀察如下利用觀察員/從rxjs
我期待這將觸發onNext的觀察者觀察到。這是我的理解。
讓我知道,如果這種理解是好的?因爲它不以這種方式工作。
的僞代碼:
@Injectable()
export class HeroService {
static eventname = [];
static observable:Observable<string[]>;
constructor() { this.init(); }
init() {
subscribe();
eventhandler = function (name) {
HeroService.eventname.push(name);
};
}
subscribe(): void {
HeroService.observable = Observable.of (HeroService.eventname);
var observer = {
next: x => console.log('Observer got a next value: ' + x),
error: err => console.error('Observer got an error: ' + err),
complete:() => console.log('Observer got a complete notification'),
};
HeroService.observable.subscribe (observer);
}
}
當事件處理程序被調用時,我添加了新的事件EVENTNAME。 我預計觀察員會被調用。但在檢查時,我發現沒有訂戶。 array is lenth 0
eventHandler由WebSocket/SignalR Hub從服務器調用。
增加的部分。忘了把它寫入僞代碼。無論如何。所以在init中只會調用一次。然後'完成'消息自動發送。因此,當更改事件名稱觀察者未被觸發時, – Paperless
現在它在初始化期間僅被觸發一次。之後,如果我檢查沒有訂戶可用的觀察員。它如何清除? – Paperless