【发布时间】:2019-01-11 15:06:13
【问题描述】:
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))));
有人可以向我解释一下这是如何改进的吗?!对我来说似乎是倒退了一步。
【问题讨论】:
-
@zero298 不要因为
toPromise出现在两个问题中就欺骗投票... -
@JonasW。你读过副本吗? “toPromise:现在作为 Observable 上的永久方法存在”我认为这意味着它没有被弃用。您是希望我发布一个回答说“它没有被弃用”还是链接到一个说同样多的问题?
-
@zero298 问题是 1 岁吗?
标签: javascript angular promise rxjs angularfire2