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