RxJS - 概述
本章介绍了有关 RxJS 的功能、优点和缺点的信息。在这里,我们还将学习何时使用 RxJS。
RxJS 的全称是Reactive Extension for Javascript。它是一个 JavaScript 库,使用 Observables 来处理响应式编程,该编程处理异步数据调用、回调和基于事件的程序。RxJS 可以与其他 JavaScript 库和框架一起使用。它受 JavaScript 支持,也受 TypeScript 支持。
什么是 RxJS?
根据 RxJS 的官方网站,它被定义为一个用于通过使用可观察序列来组合异步和基于事件的程序的库。它提供了一种核心类型 Observable、卫星类型(Observer、Schedulers、Subjects)以及受 Array#extras(map、filter、reduce、every 等)启发的运算符,以允许将异步事件作为集合进行处理。
RxJS 的特性
在 RxJS 中,以下概念负责处理异步任务:
Observable
Observable 是一个函数,它创建一个 Observer 并将其附加到预期值来源的地方,例如,来自 DOM 元素的点击、鼠标事件或 HTTP 请求等。
Observer
它是一个具有 next()、error() 和 complete() 方法的对象,当与 Observable 交互时(例如,源交互,例如按钮点击、HTTP 请求等)将被调用。
Subscription
创建 Observable 后,要执行 Observable,我们需要订阅它。它还可以用于取消执行。
运算符
运算符是一个纯函数,它接收 Observable 作为输入,输出也是一个 Observable。
主题 (Subject)
主题是一个可以多播(即与多个 Observer 通信)的 Observable。考虑一个带有事件侦听器的按钮,使用 addListener 附加到事件的函数在用户每次点击按钮时都会被调用,主题也具有类似的功能。
调度器 (Schedulers)
调度器控制订阅何时开始和通知的执行。
何时使用 RxJS?
如果您的项目包含大量异步任务处理,那么 RxJS 是一个不错的选择。它默认情况下随 Angular 项目一起加载。
使用 RxJS 的优点
以下是使用 RxJS 的优点:
RxJS 可以与其他 JavaScript 库和框架一起使用。它受 JavaScript 支持,也受 TypeScript 支持。一些示例包括 Angular、ReactJS、Vuejs、nodejs 等。
在处理异步任务方面,RxJS 是一个很棒的库。RxJS 使用 Observables 来处理响应式编程,该编程处理异步数据调用、回调和基于事件的程序。
RxJS 提供了大量运算符,涵盖数学、转换、过滤、实用程序、条件、错误处理、连接等类别,在与响应式编程一起使用时可以简化工作。
使用 RxJS 的缺点
以下是使用 RxJS 的缺点:
使用 Observables 调试代码有点困难。
随着您开始使用 Observables,您最终可能会将整个代码包裹在 Observables 中。