因此,我有一个Angular 8应用程序,想使用rxjs中的do运算符。
但是我在这条线上出现错误
所以我用谷歌搜索。我发现必须添加此建议:
import 'rxjs/add/operator/do';
但这不起作用。
所以我有这个:
import { Injectable } from '@angular/core';
import { AngularFireDatabase } from '@angular/fire/database';
import { Course } from 'app/shared/model/course';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/do';
import { tap, filter, map } from 'rxjs/operators';
@Injectable()
export class CoursesService {
constructor(private db: AngularFireDatabase) { }
findAllCourses(): Observable<Course[]> {
return this.db.list('courses').do(console.log);
}
}
但是我仍然收到此错误:
Property 'do' does not exist on type 'AngularFireList<unknown>'.ts(2339)
错误会消失
答案 0 :(得分:1)
您需要使用 pipe() 进行链接,例如:
.pipe(tap(data => console.log('All: ' + JSON.stringify(data))))
您的代码应类似于
return this.db.list('courses').snapshotChanges().pipe(
tap(console.log),