【发布时间】:2018-08-14 23:29:21
【问题描述】:
我在另一个Observable<Params[]> 中有Observable<User>,所以我必须使用嵌套的Observable.subscribes。
是否可以避免这种情况并从 Firebase 中检索我的单个用户数据而无需订阅?我使用 AngularFire 5。
我的组件代码:
export class UserAddEditComponent implements OnInit {
userForm: FormGroup;
userId: string;
constructor(private route: ActivatedRoute, private usersService: UsersService) { }
ngOnInit() {
this.route.params.subscribe((params: Params) => {
if (params['id']) {
this.userId = params['id'];
this.usersService.getUser(this.userId).subscribe((user) => {
this.initForm(user);
});
} else {
this.initForm();
}
});
}
附:来自UsersService 的getUser() 方法返回Observable<User>:
getUser (id: string): Observable<User> {
return this.firebase.doc<User>(`users/${id}`).valueChanges();
}
【问题讨论】:
标签: angular firebase firebase-realtime-database angularfire