如何在一个返回值是Observable的函数上使用async-await?
interface HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
//可以用await吗?
}
}
我就想要同步执行,不然用.then()的方式最后会因为返回值不一致而报错
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用rxjs操作符
fromPromise
比如这样
Angular?
这是 Reactive 的写法,而
async/await
是针对 Promise 的语法糖,那么你需要的就是把 Reactive 中的Observable<T>
先转化为Promise<T>
。在 RxJS 中,你可以直接将一个
Observable
对象.toPromise()
,就可以得到其对应的Promise
对象。P.S. 其实不推荐这么做,因为 Reactive 也好、Promise 也罢,是针对异步编程的两种不同的思路,即然用了前者,就不要老想着往后者上转。
用toPromise
就可以