У меня есть концептуальный вопрос. Я использую angularfire2 с angular 6, и я не уверен, как обращаться со всеми наблюдаемыми.
Большинству моих страниц нужен пользователь, который является наблюдаемым, тогда им может потребоваться параметр запроса, который является другим наблюдаемым. Итак, у меня есть код, который делает как
zip(
this.route.paramMap,
this._auth.user
)
.pipe(
switchMap((val: [ParamMap, User]) => {
this.url = `/users/${val['1'].uid}/dto/${val['0'].get('id')}`;
return this._fireStore.doc(this.url).snapshotChanges();
}),
switchMap((val: Action<DocumentSnapshot<any>>) => {
let data = val.payload.data();
return of(Dto.fromPayLoad(val.payload.id, data));
})).subscribe(it => this.model = it);
Я чувствую, что это слишком сложно. Каковы устойчивые образцы здесь? Может кто-нибудь указать мне на лучшие практики.