【发布时间】:2021-09-21 22:19:00
【问题描述】:
给出以下代码 sn-p,它执行以下操作:
- 先获取列表
- 那么一旦 1) 完成,调用 initRouter()
ngOnInit(): void {
forkJoin([
this.httpHandlerCached.getListsA(),
this.httpHandlerCached.getListsB(),
this.httpHandlerCached.getListsC()
]).subscribe(res => {
this.listA = res[0];
this.listB = res[1];
this.listC = res[2];
this.initRouter();
})
}
initRouter(){
this.route.params.subscribe(params =>
//do something with params and lists...
}
如何将第一个 forkjoin-part 放入这样的自己的方法中:
ngOnInit(): void {
//Pseudo-Code:
this.initListReturnForkJoin().subscribe(res => {
this.listA = res[0];
this.listB = res[1];
this.listC = res[2];
this.initRouter();
})
}
//Pseudo-Code:
initListReturnForkJoin(): ??? {
return forkJoin([
this.httpHandlerCached.getListsA(),
this.httpHandlerCached.getListsB(),
this.httpHandlerCached.getListsC()
])
}
initRouter(){
this.route.params.subscribe(params =>
//do something with params and lists...
}
对不起,我不知道如何更好地表达这个问题......感谢任何指导
【问题讨论】:
-
是的,它看起来与您建议的完全一样。返回类型为
Observable<[listAtype, listBtype,listCtype]> -
谢谢!
标签: angular typescript rxjs fork-join