RXJS 里面有哪几个核心的概念

RxJS 是一个流式编程库,它基于观察者模式(Observer pattern)和可观察对象(Observable)来处理异步事件和数据流。RxJS 中有几个核心概念,这些概念构成了 RxJS 的基础:

  1. Observable(可观察对象)

    • Observable 表示一个数据流,它可以发出多个值(包括基本类型、对象、数组等)在一段时间内。这些值可以是同步的也可以是异步的,Observable 可以被订阅以执行并接收这些值。它可以被观察到,并且可以被观察者(Observer)订阅以监听它的事件。
  2. Observer(观察者)

    • 观察者用来监听 Observable 发出的值。它包括三个方法:next() 用来处理正常的值,error() 用来处理错误,complete() 用来处理 Observable 的完成。
  3. Operators(操作符)

    • 操作符是用来处理、转换、过滤、组合 Observable 数据流的函数。它们允许对 Observable 发出的数据流进行各种操作,比如 mapfiltermergeMapswitchMap 等等。这些操作符可以链式调用,允许构建复杂的数据处理流程。
  4. Subscription(订阅)

    • 订阅是 Observable 执行的关键部分。当调用 Observable 的 subscribe() 方法时,会返回一个 Subscription 对象,它代表着对 Observable 的订阅。它可以用来取消订阅,防止内存泄漏或不必要的资源消耗。
  5. Subject(主题)

    • Subject 是 Observable 和 Observer 的混合体。它既是一个可观察对象,也是一个观察者。它可以多播数据给多个观察者,允许在数据流中共享相同的值。
  6. Schedulers(调度器)

    • 调度器控制着 Observable 的执行时机和顺序。它可以用来指定 Observable 在何时以何种方式发出数据,比如 asyncScheduler 可以将任务推迟到下一个事件循环中执行。
posted @ 2023-12-20 10:34  nodejs  阅读(48)  评论(0)    收藏  举报