0
優れた角度2 /材料設計のフレームワーク、Teradataの共有結合は、ここに呼び出すREST APIをラップしRESTService抽象クラスを提供します、次のように:キャプチャ例外
export class CustomRESTService extends RESTService<any> {
constructor(private _http: Http /* or HttpInterceptorService */) {
super(_http, {
baseUrl: 'www.api.com',
path: '/path/to/endpoint',
headers: new Headers(),
dynamicHeaders:() => new Headers(),
transform: (res: Response): any => res.json(),
});
}
}
RESTService抽象クラスで "更新" の方法がここに示されています:
public update(id: string | number, obj: T, transform?: IRestTransform): Observable<any> {
let requestOptions: RequestOptionsArgs = this.buildRequestOptions();
let request: Observable<Response> = this.http.patch(this.buildUrl(id), obj, requestOptions);
return request.map((res: Response) => {
if (res.status === 200) {
if (transform) {
return transform(res);
}
return this.transform(res);
} else {
return res;
}
}).catch((error: Response) => {
return new Observable<any>((subscriber: Subscriber<any>) => {
try {
subscriber.error(this.transform(error));
} catch (err) {
subscriber.error(error);
}
});
});
}
私の質問は:抽象クラスの更新メソッドが例外をスローする場合、どのようにそれがCustomRESTServiceクラスでキャプチャできますか?つまり、UIでエラーを表示するためにTypescriptコードを使用できますか?
ありがとうございます。