KSw*_*t87 1 typescript angular angular-httpclient
我正在尝试将一些 HttpClient 调用(.get(...) 和 .post(...))抽象到 BaseService 类中,因为如果我的服务没有,我必须复制标头和凭据等代码从基类继承。
在这样做时,出于某种原因,我的代码没有选择 get 上的通用重载。
以下方法调用成功选择了正确的 HttpClient.get(...) 重载:
但是,以下是选择不同的重载,我不知道如何解决它:
这是因为我错误地声明了私有选项字段吗?我在 API 文档中找不到更好/正确的声明方式,以便成功选择正确的重载。有人可以帮我让我的代码Observable<T>为 HttpClient.get(...)选择正确的(通用)重载吗?
这是因为您使用 type 声明选项any。
通过这样做,编译器对 的接口/成员一无所知options,尽管您使用由 2 个属性组成的对象实例化其值。
重构为:
export class Foo {
private options = {headers: {...}, withCredentials: true};
....
}
Run Code Online (Sandbox Code Playgroud)
现在编译器可以推断的类型options,而不是静态读取它。
| 归档时间: |
|
| 查看次数: |
931 次 |
| 最近记录: |