RxJS:最新更新

在本教程中,我们将使用RxJS版本6。RxJS通常用于处理反应式编程,并且在Angular,ReactJS中更常使用。Angular 6默认情况下会加载rxjs6。

与版本6相比,RxJS版本5的处理方式有所不同。如果将RxJS 5更新为6,代码将中断。在本章中,我们将看到处理版本更新方式的不同。

如果您将RxJS更新为6,并且不想进行代码更改,也可以这样做,并且必须安装以下软件包。

npm install --save-dev rxjs-compact

该软件包将负责提供向后兼容性,并且旧代码将在RxJS版本6上正常运行。如果要对代码进行更改以使其在RxJS 6上正常运行,则需要进行以下更改。

对操作员,可观察到的事物,主题的软件包进行了重组,因此,对导入进行了重大更改,下面将对其进行说明。

import operator

根据版本5,对于operators,应包括以下导入语句:

import 'rxjs/add/operator/mapTo'
import 'rxjs/add/operator/take'
import 'rxjs/add/operator/tap'
import 'rxjs/add/operator/map'

在RxJS版本6中,导入将如下所示-

import {mapTo, take, tap, map} from "rxjs/operators"

导入创建Observables方法

根据版本5,在使用Observables时,应包括以下导入方法:

import "rxjs/add/observable/from";
import "rxjs/add/observable/of";
import "rxjs/add/observable/fromEvent";
import "rxjs/add/observable/interval";

在RxJS版本6中,导入将如下所示:

import {from, of, fromEvent, interval} from 'rxjs';

Import of Observables

在RxJS版本5中,在使用Observables时,应包含以下import语句:

import { Observable } from 'rxjs/Observable'

在RxJS版本6中,导入将如下所示:

import { Observable } from 'rxjs'

导入主题

在RxJS版本5中,应包括以下主题:

import { Subject} from 'rxjs/Subject'

在RxJS版本6中,导入将如下所示:

import { Subject } from 'rxjs'

如何在RxJS 6中使用运算符?

pipe()方法在创建的可观察对象上可用。它是从5.5版添加到RxJS的。现在,使用pipe()可以按顺序一起处理多个运算符。这是在RxJS版本5中使用运算符的方式。

import "rxjs/add/observable/from";
import 'rxjs/add/operator/max'

let list1 = [1, 6, 15, 10, 58, 2, 40];
from(list1).max((a,b)=>a-b).subscribe(x => console.log("The Max value is "+x));

从RxJS 5.5版开始,我们必须使用pipe()执行运算符:

import { from } from 'rxjs';
import { max } from 'rxjs/operators';

from(list1).pipe(max((a,b)=>a-b)).subscribe(x => console.log(
   "The Max value is "+x)
);

运算符重命名

在软件包的重组过程中,一些运算符由于与javascript关键字冲突或匹配而被重命名。列表如下所示:

OperatorRenamed to
do()tap()
catch()catchError()
switch()switchAll()
finally()finalize()
throw()throwError()

作者:terry,如若转载,请注明出处:https://www.web176.com/rxjs/1966.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年2月9日 下午1:08
下一篇 2021年2月9日 下午1:20

相关推荐

发表回复

登录后才能评论