通过一种可观察的方法重定向到新页面

问题描述 投票:0回答:2

我有一项从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()的组件发生了什么?

angular
2个回答
1
投票

您的代码看起来不错。这是您重定向后发生的事情:


0
投票

您可以将map/tap转换为Observable返回的settings(),例如

© www.soinside.com 2019 - 2024. All rights reserved.