This page说 “toPromise 已被弃用!(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
关于javascript - 在 Observable 上使用 await 时,我应该使用什么来代替 toPromise()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51677405/