【问题标题】:Does .toPromise() make Angular Http requests more performant?.toPromise() 是否使 Angular Http 请求的性能更高?
【发布时间】: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


【解决方案1】:

.toPromise 只是将Observable 序列转换为符合 ES2015 的承诺。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多