Я пытаюсь построить систему обмена сообщениями с Observable.Мой код выглядит так, довольно просто.Но у меня есть проблема с ползунком, иногда метод newMessage вызывает до того, как storageObserver , и я получаю эту ошибку
Невозможно прочитать свойство 'next' изnull
private storageObserver: any;
public storage: any;
constructor(private auth: AuthenticationService, private http: HttpClient)
{
this.storage = Observable.create(observer => {
this.storageObserver = observer;
});
}
newMessage(message: any) {
this.storageObserver.next(message);
}
Очевидно, я могу проверить newMessage вот так
newMessage(message: any) {
if(this.storageObserver == null) {
setTimeout(() => {
this.storageObserver.next(message);
}, 500)
} else {
this.storageObserver.next(message);
}
}
Но я не очень люблю этот тип хаков.Можно ли как-нибудь дождаться создания наблюдателя?