RxJS - 概述


本章介绍有关 RxJS 的特性、优点和缺点的信息。在这里,我们还将了解何时使用 RxJS。

RxJS 的完整形式是Reactive Extension for Javascript。它是一个 JavaScript 库,使用可观察量进行反应式编程,处理异步数据调用、回调和基于事件的程序。RxJS 可以与其他 Javascript 库和框架一起使用。它由 javascript 和 typescript 支持。

什么是 RxJS?

根据RxJS的官方网站,它被定义为一个使用可观察序列编写异步和基于事件的程序的库。它提供了一种核心类型,即 Observable、卫星类型(观察者、调度程序、主题)和受 Array#extras 启发的运算符(map、filter、reduce、every 等),以允许将异步事件作为集合处理。

RxJS 的特点

在 RxJS 中,以下概念负责处理异步任务 -

可观察的

observable 是一个创建观察者并将其附加到需要值的源的函数,例如,来自 dom 元素的单击、鼠标事件或 Http 请求等。

观察者

它是一个具有 next()、error() 和complete() 方法的对象,当与可观察对象进行交互时,即源与示例按钮单击、Http 请求等进行交互时,将调用该方法。

订阅

创建可观察量后,要执行可观察量,我们需要订阅它。它还可用于取消执行。

运营商

运算符是一个纯函数,它将 observable 作为输入,输出也是一个 observable。

主题

主题是一个可以多播的可观察对象,即与许多观察者交谈。考虑一个带有事件侦听器的按钮,每次用户单击按钮时,都会调用使用 addlistener 附加到事件的函数,类似的功能也适用于主题。

调度程序

调度程序控制订阅何时必须启动并收到通知的执行。

何时使用 RxJS?

如果您的项目包含大量异步任务处理,那么 RxJS 是一个不错的选择。它默认随 Angular 项目一起加载。

使用 RxJS 的优点

以下是使用 RxJS 的优点 -

  • RxJS 可以与其他 Javascript 库和框架一起使用。它由 javascript 和 typescript 支持。Angular、ReactJS、Vuejs、nodejs 等都是少数例子。

  • 在处理异步任务方面,RxJS 是一个很棒的库。RxJS 使用可观察量来处理反应式编程,处理异步数据调用、回调和基于事件的程序。

  • RxJS 提供了大量数学、转换、过滤、实用、条件、错误处理、连接类别等运算符,使反应式编程的使用变得轻松。

使用 RxJS 的缺点

以下是使用 RxJS 的缺点 -

  • 使用可观察量调试代码并不困难。

  • 当您开始使用 Observables 时,您最终可以将完整的代码包装在 observables 下。