RxJS 最新版本更新

17 Mar 2025 | 4 分钟阅读

RxJS 的最新版本是 v6。这是最近发布的版本 6,我们正在 RxJS 版本 6 中进行本教程。我们知道 RxJS 用于处理响应式编程。它与 Angular 和 ReactJS 结合使用最为常见。Angular 6 默认加载 rxjs6。

为什么要更新 RxJS 版本 6?

RxJS v6 是从 RxJS 5.x 到 RxJS 6.x 的主要版本更改。开发人员做了大量工作,以尽量减少硬性破坏性更改。在大多数情况下,这允许应用程序和库开发人员逐步更新并使用 RxJS v6,而无需对其代码进行任何修改。但是,RxJS 版本 5 的处理方式与 RxJS 版本 6 不同。如果将 RxJS 5 更新到 6,代码将中断。

如何有效地将 RxJS v5 更新到 RxJS v6?

向后兼容层使更新过程变得容易,并允许您在更改代码的同时使您的应用程序正常工作。此完整过程分以下几个阶段进行。

在这里,我们将看到处理版本更新的不同方法

  • 更新到 RxJS 5.5 的最新版本,并修复由错误修复引起的所有问题。
  • 使用命令 rxjs-compact 安装 RxJS v6 以及向后兼容包。
  • 如果您的应用程序遇到问题,并且 rxjs-compat 未涵盖破坏性更改,请按照下面提供的说明更新受影响的代码。
  • 删除兼容层以完成对 RxJS v6 的更新。这样做将显着减小您的应用程序的大小。
  • 使用 rxjs-tslint 命令重构 TypeScript 代码,使其不依赖于 rxjs-compat。
  • 在 RxJS v7 发布之前,删除并替换所有已弃用的功能。

如果要将 RxJS v5 更新到 RxJS v6,并且不想进行代码更改,可以通过安装以下软件包来完成

安装此软件包后,它将负责提供向后兼容性,并且您的旧代码将与 RxJS 版本 6 一起正常工作。

如果要更改代码以使其与 RxJS v6 正常工作,可以进行以下更改。操作符、可观察对象和主题的包已重新构造,因此您必须按照以下方式更改它们在 RxJS v6 中的导入方式

操作符导入的更改

在 RxJS v5 中,操作符和以下导入语句包含如下

在 RxJS v6 中,这些将导入如下

创建可观察对象的方法导入的更改

在 RxJS v5 中,当我们使用可观察对象时,我们必须按如下方式导入方法

在 RxJS v6 中,这将按如下方式完成

可观察对象导入的更改

在 RxJS v5 中,当我们使用可观察对象时,我们必须按如下方式导入语句

在 RxJS v6 中,这将按如下方式完成

主题导入的更改

在 RxJS v5 中,我们必须按如下方式导入主题

在 RxJS v6 中,这将按如下方式完成

这是我们在 RxJS 版本 5 中使用操作符的方式。请看下面的示例。在此示例中,我们将从列表中找到最大值。

示例

此示例仅与 RxJS 版本 5 兼容。如果在 RxJS v6 中运行它,将会出错。请看下图

RxJS Latest Release Updates

当创建可观察对象时,RxJS v6 中可以使用 pipe() 方法。它从版本 5.5 添加到 RxJS。通过使用此方法,您可以按顺序一起处理多个操作符。

从 RxJS 版本 5.5 开始,我们必须使用 pipe() 方法来执行操作符。请看以上示例在 rxJS v6 中将如何编写

输出

RxJS Latest Release Updates

您可以看到它显示了正确的输出。

已重命名的操作符

在 RxJS v6 中重新构造包的过程中,某些操作符被重命名,因为它们与 JavaScript 关键字冲突或匹配。以下列表显示了这些操作符

运算符重命名为
do()tap()
catch()catchError()
switch()switchAll()
finally()finalize()
throw()throwError()

下一主题RxJS 操作符