Angular9:类型 'Observable<HttpEvent<class>>' 不可分配给类型 'Observable<class>'
Angular9: Type 'Observable<HttpEvent<class>>' is not assignable to type 'Observable<class>'
在我的 angular 应用程序中,我有一个进行 API 调用的服务文件。在我的功能之一中,如下所示。
getSelectedPractitionerPermissions(id): Observable<classA> {
const url = apiUrl
this.options = this.authService.getAuthInfo();
return this.http.get<classA>(url, this.options);
}
但是我收到如下错误
类型 'Observable<HttpEvent>' 不能分配给类型 'Observable'。
类型 'HttpEvent' 不可分配给类型 'ClassA'。
类型 'HttpSentEvent' 与类型 'ClassA'.
没有共同的属性
我从 getAutInfo
获得了所有必需的 headers 和令牌
getAuthInfo() {
const bearerToken = localStorage.getItem('token');
let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Authorization', 'Bearer ' + bearerToken);
headers = headers.append('Cache-control', 'no-cache');
headers = headers.append('Cache-control', 'no-store');
headers = headers.append('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT');
headers = headers.append('Pragma', 'no-cache');
return { headers };
}
如果我删除 GET 路由中的 this.options,它可以正常工作。但我想拥有它们,因为我需要传递令牌和其他参数。
在 getSelectedPractitionerPermissions
return this.http.get<classA>(url, {headers: this.options });
并在 getAuthInfo:
return headers;
在我的 angular 应用程序中,我有一个进行 API 调用的服务文件。在我的功能之一中,如下所示。
getSelectedPractitionerPermissions(id): Observable<classA> {
const url = apiUrl
this.options = this.authService.getAuthInfo();
return this.http.get<classA>(url, this.options);
}
但是我收到如下错误
类型 'Observable<HttpEvent>' 不能分配给类型 'Observable'。 类型 'HttpEvent' 不可分配给类型 'ClassA'。 类型 'HttpSentEvent' 与类型 'ClassA'.
没有共同的属性我从 getAutInfo
获得了所有必需的 headers 和令牌 getAuthInfo() {
const bearerToken = localStorage.getItem('token');
let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Authorization', 'Bearer ' + bearerToken);
headers = headers.append('Cache-control', 'no-cache');
headers = headers.append('Cache-control', 'no-store');
headers = headers.append('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT');
headers = headers.append('Pragma', 'no-cache');
return { headers };
}
如果我删除 GET 路由中的 this.options,它可以正常工作。但我想拥有它们,因为我需要传递令牌和其他参数。
在 getSelectedPractitionerPermissions
return this.http.get<classA>(url, {headers: this.options });
并在 getAuthInfo:
return headers;