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 下。