RxJS 6.1.0新导入语法报错问题求助
解决RxJS 6+中
Observable.of不存在的错误 这个问题是RxJS 6版本带来的核心API变更导致的——从RxJS 6开始,所有创建Observable的静态方法(比如of、from、interval等)都不再挂载在Observable类上,而是变成了独立的可导入函数。
你已经做对了第一步:
import { Observable, of } from 'rxjs';
接下来只需要把原来的调用方式改掉就行:
- 错误写法:
return Observable.of(data); - 正确写法:
return of(data);
额外补充:其他常见静态方法的迁移示例
为了避免后续踩坑,给你列几个常用方法的新旧写法对比:
Observable.from([1,2,3])→from([1,2,3])Observable.throw('error')→throwError('error')(注意方法名做了修改)Observable.interval(1000)→interval(1000)
另外要夸一句,你对操作符的迁移是完全正确的:把map从rxjs/operators导入,并用pipe组合,这正是RxJS 6要求的操作符使用方式,继续保持就好。
如果改完还是有问题,可以检查一下项目中rxjs的版本是否确实是6.1.0(在package.json里确认),RxJS 6之后不需要单独安装@types/rxjs,因为官方已经自带类型定义了,要是之前装了旧的类型包可以考虑卸载它。
内容的提问来源于stack exchange,提问作者peryztor
相关产品推荐
相关产品推荐

