RxJs 6于2018年4月24日正式发布,相对于RxJs 5,做出了大量的改动。
其中有很重要的一项:使用函数而不是类来操作可观察对象(Observables)。所有的Observable类已被移除。
也就是说RxJs 6不能再继续使用Observable.of()方法,应该使用函数of()。
同时链式操作被管道操作所替代:
.funName() 变为:.pipe(funName())
最近在学习angular时,教程有一个使用旧版本的地方
inport {Observable} from "rxjs";
return Observable.of(valid ? null : {mobile : true}).delay(5000);
修改方法1:
官方给出开一个过渡方案,可以使最新版本兼容旧版本代码:
npm install rxjs-compat
rxjs-compat提供了V5与v6API间的临时兼容层,实质上rxjs-compat为您的代码库提供了所需的v5版本功能
安装rxjs-compat会导致打包后代码包体积的增加,如果你使用的是4.0.0版本以下的Webpack,该影响会被放大。
因此建议升级完成后将rxjs-compat移除。
修改方法2:
使用函数替代:
import {of} from 'rxjs';
import {delay} from 'rxjs/operators';
return of(valid ? null : {mobile: true}).pipe(delay(5000));
注意导入也有所修改
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务