Angular / Firebase Observable assing - PullRequest
       26

Angular / Firebase Observable assing

0 голосов
/ 30 апреля 2020

AngularFire snapshotChanges () возвращает

Observable<Action<DocumentSnapshot<T>>>

Я реализую его в службе, поэтому я использую свойство publi c, которое также возвращает наблюдаемое с использованием этого синтаксиса

public myObs : Observable<myInterface[]>
this.myObs = this.afs.collection<myInterface>('aPath').snapshotChanges()

все работает нормально, но теперь я хочу иметь возможность изменять переменную 'aPath'.

this.myObs = this.afs.collection<myInterface>('aPath').snapshotChanges()
this.myObs = this.afs.collection<myInterface>('aNewPath').snapshotChanges()

существует ли риск утечки памяти?

Редактировать - я нашел элегантное решение с использованием субъекта

private snapshotSub : Subscription = null;
public myObs : Subject<myInterface[]> = new Subject<myInterface[]>();

if (this.snapshotSub != null) this.snapshotSub.unsubscribe();
this.snapshotSub = this.afs.collection<myInterface>('aPath').snapshotChanges().subscribe((data)=>{
    this.myObs.next (data);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...