Firebase 5 Angular 5 AngularFireList.snapshotChanges() 错误

Firebase 5 Angular 5 AngularFireList.snapshotChanges() error

当我尝试在 Angular 5/Firebase5 应用程序中订阅 AngularFireList 时出现以下错误。

zone.js:192 Uncaught TypeError: Object(...) is not a function
    at SwitchMapSubscriber.eval [as project] (changes.js:7)
    at SwitchMapSubscriber._next (switchMap.js:91)
    at SwitchMapSubscriber.Subscriber.next (Subscriber.js:95)
    at RefCountSubscriber.Subscriber._next (Subscriber.js:131)
    at RefCountSubscriber.Subscriber.next (Subscriber.js:95)
    at Subject.next (Subject.js:56)
    at ConnectableSubscriber.Subscriber._next (Subscriber.js:131)
    at ConnectableSubscriber.Subscriber.next (Subscriber.js:95)
    at Notification.observe (Notification.js:32)
    at AsyncAction.DelaySubscriber.dispatch (delay.js:91)

我的Service和Controllerclass内容如下,

1) 名为 'FirebaseService'

的服务
customers: AngularFireList<any>;
getCustomers(){
    this.customers = this.fire.list('users');
    return this.customers;
  }

2) 控制器

constructor(private firebase: FirebaseService) { }

serviceProviders: ServiceProvider[];
var x = this.firebase.getServiceProviders();
    x.snapshotChanges().subscribe(item => {
      this.serviceProviders = [];      
      item.forEach(element => {
        var y = element.payload.toJSON();
        y["$key"] = element.key;
        this.serviceProviders.push(y as ServiceProvider);
      });
    });

AngularFire 的最新版本需要 rxjs 6。请升级 rxjs 并包含 rxjs-compat 如果您有尚未升级的依赖项。

我在使用 AngularFireList.valueChanges() 时遇到了类似的问题 安装最新版本的 AngularFire (5.0.0-rc.10)

时出现 npm 警告

npm WARN angularfire2@5.0.0-rc.10 requires a peer of rxjs@^6.0.0 but none is installed

所以我已经安装了那个依赖项

npm install rxjs@^6.0.0 --save 在我的项目中

还需要安装如下依赖

npm install --save rxjs-compat

问题解决