尝试在 git bash 中运行时遇到此问题。.switchMap 未执行并显示错误为“错误 TS2339:属性 'switchMap' 在类型 'Observable' 上不存在”
我正在使用的代码是:
import { User } from './../classes/user';
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Observable, of } from 'rxjs';
import { AngularFireAuth } from '@angular/fire/auth';
import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';
import { from } from 'rxjs';
@Injectable()
export class AuthService {
public currentUser: Observable<User | null>;
constructor(
private router: Router,
private alertService: AlertService,
private afAuth: AngularFireAuth,
private db: AngularFirestore
) {
this.currentUser = this.afAuth.authState
.switchMap((user) => {
if (user) {
return this.db.doc<User>(`users/${user.uid}`).valueChanges();
} else {
return of(null);
}
});
}
我的 rxjs 版本是 rxjs@6.3.3 最新版本,nodejs 版本是 v8.12.0 请帮助我建立一个聊天网站。