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))));
有人可以向我解释这是一种改进吗?!对我来说似乎是退后一步。
答案 0 :(得分:4)
您只应该放管子!
.pipe(take(1)).toPromise