可并行观察

时间:2018-04-14 13:37:18

标签: typescript ionic-framework reactivex

我正在使用Ionic 3和ReactiveX Observable对象。我通过AngularFireDatabase使用方法valueChanges()获得了一个Observable。我想在某些方面过滤它,比如在另一个Observable中有一些具有某些属性的对象,并对它进行排序。我使用Observable.forkJoin()但它不起作用,因为我的防溅屏幕无法隐藏。如果需要,我可以附上一些代码。或者也许你可以帮我一些例子。感谢

这是我的代码

Observable.forkJoin([
  this.allParticipants = this.participantsList.valueChanges().map(res => res.sort((a, b) => a.name < b.name ? -1 : 1)),
  this.paidParticipants = this.allParticipants.map(res => res.filter(guest => guest.paid)),
]).subscribe(() => this.splashScreen.hide(), () => this.splashScreen.hide(), () => this.splashScreen.hide());

我把隐藏方法放在所有参数中,以确定它是否隐藏在某些方面,但它没有。

1 个答案:

答案 0 :(得分:0)

我认为forkJoin在这里没有用,因为只有当所有可观察的内容完成时才会发出。 valuesChanges()没有完成。使用combineLatestswitchMap