刚刚开始学习rxjs。
我很困惑如何将可观察对象从数据服务层扔到UI组件层。另外,如果DB层抛出错误,并且重新抛出以下所有层,是否可以在UI组件层中捕获它?
这是我的设置-
UI组件-
OnInit() {
dataService.GetData(req).Subscribe((d)=> {
if(d) {
comboBox.data = d;
}
}
)
}
数据服务-我对此感到困惑
GetData(req):Observable<Object[]> {
backendService.querydb(request).Subscribe((res)=> {
if(res) {
result: Object[] = Convert result to the Object I can use.
return of(result)
}
}
);
}
数据库服务层-
queryDB(request):Observable<any> {
return this.http.get(url).pipe(map(
(rslt: any) => {
return rslt;
},
(error) => {
this.consoleLogError(error);
throw error;
}
));
}
答案 0 :(得分:0)
数据服务应在Observable上返回-类似(伪代码):
GetData(req):Observable<Object[]> {
return backendService.querydb(request).map(
pipe((res)=> {
if(res) {
return "result converted to the Object I can use";
} else {
return "something else";
}
})
);
}