This page"toPromise has been deprecated! (RxJS 5.5+)",但是最近我一直在AngularFire2中使用它(当我只想要一个结果时),如下所示:

const foo = await this.afs.doc(`docPath`).valueChanges().toPromise();

我不应该这样做吗?如果没有,那么await替代品是什么?

更新:

在下面的答案之后,我对此进行了更改:
const foo = await this.afs.doc(`docPath`).valueChanges().toPromise();

...对此:
const foo = await (new Promise(resolve => this.afs.doc(`docPath`).valueChanges().pipe(first()).subscribe(result => resolve(result))));

有人可以向我解释这是一种改进吗?似乎向我倒退了一步。

最佳答案

您只应该把管子放好!

   .pipe(take(1)).toPromise

07-24 17:25