Angular HttpClient订阅问题
我目前正在尝试在http请求后返回一个可观察的角度。以下是方法代码:Angular HttpClient订阅问题,angular,angular-httpclient,Angular,Angular Httpclient,我目前正在尝试在http请求后返回一个可观察的角度。以下是方法代码: public fetchOptions(options ?: any): Observable<any> { let response: Subject<Response> = new Subject<Response>(); if (!this._config) { return null; } let requestOptions: a
public fetchOptions(options ?: any): Observable<any> {
let response: Subject<Response> = new Subject<Response>();
if (!this._config) {
return null;
}
let requestOptions: any= null;
// fetch Token from oag and add the Authorisation Header
this.fetchToken().subscribe((token: IOagAccessTokenResponse) => {
let finalOptions: any= {};
if (options) {
finalOptions = options;
}
if (!finalOptions.headers) {
finalOptions.headers = new HttpHeaders();
}
// first remove Header and after this add the new header
finalOptions.headers = finalOptions.headers.delete('Authorization');
requestOptions = finalOptions;
}), (e): any=> {
};
response.next(requestOptions);
}
我在Internet Explorer和Chrome中不断遇到以下错误:
错误类型错误:无法读取未定义的属性“subscribe”
我做错了什么?它不起作用,因为fetchOptions方法没有返回可观察对象。实际上它没有返回任何东西
当您从fetchOptions()方法返回一个Observable时,您将能够订阅它。您应该看到一个编译器错误,因为您没有从fetchOptions()方法返回任何内容。不,我没有收到编译器错误此代码没有向订阅方发送一个Observable吗?让我们回答:Subject=新Subject();下一步(请求选项);是的!但是您订阅了函数fetchOptions(),该函数表示它将返回一个可观察值,但您没有从该函数返回任何内容。
this.fetchOptions(options).subscribe((requestOptions: any) => {
.....
}