我有一项从pouchdb获取应用程序设置的服务:
settings(): Observable<any> {
let vm = this;
return new Observable(observer => {
vm.pouch.get("_local/info", function(err, doc) {
if (err) {
observer.error({'setup': 0});
observer.complete();
} else {
observer.next(doc);
observer.complete();
}
});
});
}
我从其他组件和服务中调用该方法,如下所示:
this.settingService.settings().subscribe(data=>
{},
err => {
//redirect to settings page/component
vm.router.navigate(["settings"]);
},
() => {}
);
我想知道当发生错误时是否可以从settings()本身重定向?当它起作用时,我不确定预订settings()的组件发生了什么?
您的代码看起来不错。这是您重定向后发生的事情:
您可以将map/tap
转换为Observable
返回的settings()
,例如