【问题标题】:Why rxjs ajax operator returns an Observable?为什么 rxjs ajax 运算符返回一个 Observable?
【发布时间】:2020-07-10 09:59:26
【问题描述】:

https://rxjs-dev.firebaseapp.com/api/ajax/ajax

为什么 rxjs ajax 操作符返回一个 Observable?我认为一个请求得到一个响应,连接就结束了。为什么它是 Observable 而不是单个响应消息?

【问题讨论】:

  • 因为AJAX 中的第一个A 代表“异步”。返回响应消息本身需要同步行为。要处理异步响应,您需要回调、Promise 或...Observable。
  • 谢谢。这是 Observable 返回类型的唯一原因吗?也就是说,总会有一个回应。我们只是不知道它什么时候会到达。
  • 借助 Observables,许多针对 Ajax 请求的典型操作变得更加简单。 This answer 有一些细节。

标签: http rxjs


【解决方案1】:

任何值,无论是同步可用的还是异步的,都可以表示为可观察对象。

Rx.of() 将值“提升”为一个简单的可观察形式 - 您订阅它,它会立即发出您传递给 of 的值。

Rx.from() 将某些值(数组、promise、任何可迭代的)转换为逻辑上的 observable 等价物。

为什么这些有用?因为与其他类型的值(包括 Promise)相比,你可以用 observables 做更多的事情。例如,如果它们是异步的,您可以取消它们。

最重要的是,将 observables 与其他 observables 组合起来更容易,这就是 RxJS 的全部意义所在。

【讨论】:

    猜你喜欢
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 2018-10-08
    • 2020-04-05
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    相关资源
    最近更新 更多