RxJS可Lettable操作符咨询:finally操作符导入位置及查找规则
搞定RxJS中finally操作符的导入,附通用查找规则
嘿,我太懂刚切换到RxJS可管道操作符时的那种懵圈感了!你提到的finally其实在RxJS 6及以后的版本里已经改名叫finalize啦——这是为了避免和JavaScript原生的finally关键字冲突,官方特意做了重命名调整。它的导入路径和你已经在用的mergeMap完全一致:
import { finalize } from 'rxjs/operators';
用的时候直接放进.pipe()里和其他操作符串联就行,举个简单例子:
someObservable$.pipe( mergeMap(data => processData(data)), finalize(() => console.log('Observable流结束啦,不管是完成还是出错都会执行')) ).subscribe();
再给你总结个通用的操作符查找/导入规则,以后就不用再纠结啦:
- 管道操作符:所有需要通过
.pipe()方法串联使用、用来处理已有Observable的操作符(比如mergeMap、map、filter、finalize这些),全都是从rxjs/operators导入。 - 创建类操作符:用来新建Observable实例的操作符(比如
of、from、interval、forkJoin这类),需要从rxjs核心库导入,比如import { of } from 'rxjs';。 - 要是拿不准某个操作符的位置,直接查RxJS官方文档就行,每个操作符的页面都会明确给出对应的导入语句,一眼就能找到~
内容的提问来源于stack exchange,提问作者user4676340
相关产品推荐
相关产品推荐

