【发布时间】:2018-10-24 00:21:37
【问题描述】:
你可以看到我有一个方法,它按我的预期工作得很好
loadTemplates(configUrl: any, templateId: string): Observable<any> {
this.getConfiguration(configUrl)
.pipe(
concatMap(configResponse =>
this.getTemplate(
CONFIGURATION_URL +
"templates/" +
configResponse.TemplateSettings.RootTemplate.Path,
configResponse
)
),
concatMap(rootTemplate =>
this.templateEngine.getAllChildTemplates(rootTemplate)
),
concatMap(childTemplates=>this.templateEngine.createTemplateToRender(childTemplates,""))
)
.subscribe(finalresponse=> {
debugger;
});
}
}
执行
- getTheConfiguration() => 基于配置响应=>
- 呼叫 getTemplate(basedontheconfigresponse)=>basedntheTemplateresponse=>
- 调用 getAllChildTemplates(basedntheTemplateresponse)=> 基于子模板响应=>
- 调用 createTemplate(basedonthechildtemplateresponse,"")
在第 4 个要点中,我将一个空参数传递给 createTemplate 方法,实际上我必须传递 basedntheTemplateresponse(在代码 rootTemplate 中) .现在我正在通过设置执行时进行调整 getAllChildTemplates
getAllChildTemplates(parentTemplate: string) {
this.currentrootTemplate = parentTemplate;
var services = this.getChildTemplateServiceInstance(parentTemplate);
return forkJoin(services);
}
是否有任何正确的方法将 rootTemplate 从管道本身传递到下一个 concatMap ?我不确定这是不是正确的方法。
【问题讨论】: