可观测链接请求
问题描述:
我需要每个GET之前注入一些HTTP请求。 HTTP服务在返回时需要Observable,但在返回它之前,我需要等待Promise完成。它看起来像这样:可观测链接请求
export class HttpInterceptor extends Http {
...
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
somePromise()
.success(() => {
// now I can return Observable object - super.get(url, otpions)
});
}
}
我将不胜感激任何解决方案。这里
答
问题是,由于你重写get(url: string, options?: RequestOptionsArgs): Observable<Response>
方法,你不能叫super
之一。
其中一个解决方案是创建服务包装Http
并添加您的需求,然后像使用http
一样使用此服务。
例如:
@Injectable()
export class FooService {
constructor(private http: Http) {
}
public get(url: string, options?: RequestOptionsArgs): Observable<Response> {
somePromise()
.success(() => {
return this.http.get(url, options);
});
}
}