【发布时间】:2020-01-14 02:10:41
【问题描述】:
显然您需要在迁移之前手动更改 Http
因为@angular/http 消失了,取而代之的是@angular/common/http,所有的类都发生了一些变化。
public getData<T>(pathMock: string, pathApi: string): Observable<T> {
let base: string = (this.getMockIdx()) ? `${AppGlobal.BASE_URL}` : `${AppGlobal.API_URL}`;
let path: string = (this.getMockIdx()) ? `${pathMock}` : pathApi;
let url: string = `${base}${path}`;
return this.http.get(
url
).map((response: HttpResponse<any>) => {
let result: T = response;
return result;
});
}
这就是我将Response 更改为HttpResponse<any> 的内容(我放了任何东西,因为我只是想让它工作,但我不知道该放什么)。
这会触发以下错误消息:
"...不能分配给'T'类型的约束"
但如果我更改 T,它会变得更加混乱:
回答后更新:
return this.http.get<any>(`${AppGlobal.API_URL}my/api/auth/refresh/tokens`,
this.getRequestOptions()).pipe(
map((data: any) => {
return this.decryptToken(data);
}
));
使用第二个传递的参数也有一个错误: "标头类型的参数:标头不可分配给...
这是怎么回事?
【问题讨论】:
-
请不要编辑问题只是,因为答案不起作用。您可以评论相应的答案本身。
-
您的答案有效(我首先使用了您的答案,它与地图导入一起使用,然后 AJT 回答并且他的解释和详细程度客观上更好)我扩大问题的原因是我在那里意识到更深入,一些更详细的案例。
标签: angular typescript http rxjs