在 Angular 中,我们使用 HttpClient 进行 HTTP 调用,该调用返回可观察值,如果我们想使用 Promise,我们可以使用lastValueFrom/firstValueFrom.
假设我们有:
async getLast() {
const get$ = this.http.get(url);
const res1 = await lastValueFrom(get$);
}
async getFirst() {
const get$ = this.http.get(url);
const res2 = await firstValueFrom(get$);
}
Run Code Online (Sandbox Code Playgroud)
res1 和 res2 总是相等吗?正确使用的版本是什么?
我读过它toPromise()在 RxJS 7中已被弃用,并将在 RxJS 8 中删除。我经常将它与 angular 中的异步等待语法一起使用来处理 http 调用。它被认为是一种反模式吗?我理解流的概念,但 http 调用只发出一个值。对于一个简单的http调用,我没有得到可观察的点。接下来我应该用什么?我应该完全接受反应式编程吗?