【发布时间】:2020-01-28 23:20:51
【问题描述】:
Angular http 的 .toPromise() 是否会改变 xml 请求的发出方式,还是只是将底层的类似 observable 的功能/响应转换为类似 Promise 的功能?
我听说 Promise 在构建时考虑了 http 调用,并且比 observables 更高效。我希望以某种方式为这种说法找到某种证据。
【问题讨论】:
-
不,它只是使用了稍微不同的机制。不要这样做“为了让它更快”这样做,因为你想要一个基于 Promise 的系统而不是一个基于函数式编程的系统(即 rxjs)。还要非常提防“让它更快”,什么时候更快?更快意味着什么,等等。确定这一点的唯一方法是对其进行测试。
I'm hoping to find some sort of proof for this claim one way or another.这不存在 -
仅供参考,observable 是一个 rxjs 对象。 Angular 只是在底层使用 rxjs。 rxjs-dev.firebaseapp.com/guide/observable
-
这不是 Angular Http 的 toPromise - 它是 RxJS 的 toPromise。 toPromise 只是订阅 Observable 并返回一个 Promise 来解析最后一个发出的值。因此,创建了一个额外的 Promise。为什么这比自己订阅要快?
标签: angular performance rxjs angular-http