我在我的Web项目中使用了 Angular 5.2 。在其中一页中,我正在使用对不同webAPI方法的多个订阅调用。尽管它们是不同的,但独立调用也带来了不同的数据集。
但是我在想是否有一种方法可以用一种语法将订阅调用合并/组合在一起,并使代码看起来更简洁。
ngOnInit(): void {
this._documentService.getTypes()
.subscribe(px => {
this._docTypeList = px;
},
error => {
console.log("Grid Err:: " + error.message);
}
);
this._documentService.getCategories()
.subscribe(rx => {
this._catList = rx;
},
error => {
console.log("Grid Err:: " + error.message); }
);
}
有没有一种方法可以重构此代码以使其简短?
请提出建议。
答案 0 :(得分:1)
使用forkJoin
组合多个可观察对象
forkJoin(this._documentService.getTypes(), this._documentService.getCategories() )
.subscribe(rx => {
this._docTypeList = rx[0]
this._catList = rx[1];
},
error => {
console.log("Grid Err:: " + error.message); }
);