我当前正在尝试在http请求之后返回Angular中的Observable。以下是方法代码:
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);
}
这里是对此函数的订阅调用:
this.fetchOptions(options).subscribe((requestOptions: any) => {
.....
}
我在Internet Explorer和Chrome中不断收到以下错误:
错误TypeError:无法读取未定义的属性“订阅”
我在做什么错了?
答案 0 :(得分:0)
该操作无效,因为fetchOptions方法未返回Observable。实际上,它不返回任何内容。
当您从fetchOptions方法返回一个Observable方法时,您将可以对其进行订阅。