强制在Observable.fromPromise上运行catch

时间:2017-09-28 09:01:18

标签: angular typescript rxjs observable ionic3

我有一个如下所示的服务层方法。我需要测试(只是一个手动测试和  我没有在这里使用任何测试框架)catch方法。那么我怎么能强制总是运行catch语句呢?我只需要模拟401错误。

 get(api) {
        let header = new Headers();
        return Observable.fromPromise(this.createHeader(header))
            .map(() => {
                let options = new BaseRequestOptions();
                options.withCredentials = true;
                options.headers = header;
                return options
            })
            .switchMap((options) => this.http.get(api, options))
            .catch((err: Error | Response) => {
                if (err instanceof Response && err.status === 401) {// I need to test this.
                    // handle 401
                    console.log('get error');
                }
                return Observable.throw(err);
            });
    }

0 个答案:

没有答案