返回

核心概念——RxJS 中的 Observable 及 其函数

前端

了解 RxJS 的核心概念,能帮助您快速入门并高效使用 RxJS。

Observable

Observable 是一个代表了一系列值的发布-订阅模式。它允许数据在发布者和订阅者之间流动。发布者可以是任何能够产生数据的对象,例如一个事件发射器、一个函数或一个 Promise。订阅者可以是任何对数据感兴趣的对象,例如一个函数或一个组件。

创建 Observable

有许多方法可以创建 Observable,包括:

  • fromEvent :创建一个 Observable,它会发出一个事件,每当一个特定的事件被触发时。
  • fromPromise :创建一个 Observable,它会发出一个值,当一个特定的 Promise 被解决时。
  • interval :创建一个 Observable,它会每隔一段时间发出一个值。
  • timer :创建一个 Observable,它会在指定的时间间隔后发出一个值。

订阅 Observable

要订阅 Observable,您需要使用 subscribe() 方法。subscribe() 方法接受三个参数:

  • next :一个函数,当 Observable 发出一个值时调用。
  • error :一个函数,当 Observable 遇到错误时调用。
  • complete :一个函数,当 Observable 完成时调用。

取消订阅 Observable

要取消订阅 Observable,您需要调用 unsubscribe() 方法。unsubscribe() 方法会停止 Observable 向订阅者发送数据。

异步操作

Observable 的一个重要特点是,它支持异步操作。这意味着您可以使用 Observable 来处理异步任务,例如网络请求或 setTimeout 函数。

Observable 通常被称为流,因为它们可以被看作是数据流。流可以是热流或冷流。热流会立即开始发出数据,即使没有订阅者。冷流只有在有订阅者时才会开始发出数据。

数据流

RxJS 是一种响应式编程库,它使用数据流来表示数据序列。数据流是一个有序的、不可变的值序列,它可以被观察者观察和处理。

响应式编程

响应式编程是一种编程范式,它强调对变化的响应。在响应式编程中,程序被表示为数据流,而程序的状态由这些数据流决定。当数据流发生变化时,程序的状态也会相应地改变。