Аргумент, передаваемый SwitchMap
, должен быть Observable
, но this.userService.get(user.uid)
возвращает AngularFireObject<AppUser>
.
AngularFireObject
от AngularFire.Я не использовал AngularFire, но из того, что я получил, вы должны позвонить valueChanges()
на AngularFireObject
, чтобы получить Observer
.Поэтому, если вы можете изменить UserService, он должен выглядеть следующим образом:
get(uid : string): Observable<AppUser>
{
return this.db.object('/users/'+ uid).valueChanges();
}
И, как упоминал Амит Чигадани, вы должны поместить switchMap и map в один канал, а также упростить функцию стрелки вswitchMap.