我最近将应用程序从Angular 5升级到Angular 8,并更改了导入 rxjs与新版本的rxjs匹配,即现在的rxjs 6。
我有以下导入语句:
import { map, mergeMap, startWith, mergeMapTo } from 'rxjs/operators';
我正在组件内部使用它:
public myObservable: any;
myMethod() {
this.myObservable = timer(1, 1000);
this.myObservable
.mergeMapTo(this.myService.loadData(this.myId))
.subscribe((data) => {
this.myData = data;
}, (errRes)=>{
console.log(errRes);
});
}
答案 0 :(得分:2)
通过将这些运算符包装在pipe()
中,您将需要使用新的RXJS语法
像这样:
public myObservable: any;
myMethod() {
this.myTimer = timer(1, 1000);
this.myObservable
.pipe(mergeMapTo(this.myService.loadData(this.myId)))
.subscribe((data) => {
this.myData = data;
}, (errRes)=>{
console.log(errRes);
});
}
有关更多详细信息,请参见本文:
https://www.academind.com/learn/javascript/rxjs-6-what-changed/