angular - typescript 错误 get 调用需要 0 个类型参数

标签 angular typescript rxjs observable

我收到 typescript 错误 Expected 0 type arguments,但返回 get 调用的行得到 1。我的电话有什么问题?

 public get(params: SummaryParams): Observable<Summary[]> {
        const uri = `${this.config.URLS.LOAD_SUMMARY}`;
        const params = new HttpParams()
                      .set('startDate', params.startDate.toString())
                      .set('endDate', params.endDate.toString())
                      .set('userId', params.userId);

        return this.http.get<Summary[]>(uri, { params });
      }

最佳答案

HttpClient具有可用于提供响应类型的通用方法。 Http没有。

错误意味着<Summary[]>不是预期的通用参数,http不是 HttpClient 的实例;可能是 Http 的一个实例.

如果应用程序使用 Angular 4.3 或更高版本,Http应替换为 HttpClient .万一Http应该使用,应该转换响应,这是 HttpClient 之间的少数差异之一。和 Http :

    return this.http.get(uri, { params })
    .map(res => <Summary[]>res.json());

关于angular - typescript 错误 get 调用需要 0 个类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50665404/

相关文章:

javascript - 如何使 RxJS Observable 在特定日期时间发出?

javascript - RxJs Observable 并行发出请求,直到失败

javascript - 捆绑 Node.js 后端 - 好的做法还是坏的做法?

angular - getTracks 在 Angular 中通过 typescript 的类型 'Blob' 错误消息中不存在

javascript - 结合 Rxjs 5 中的最新行为?

angular-cli - 单元测试无法在 VSTS 中运行?

javascript - Angular6 - 'json' 在类型 'Object' 上不存在

Angular 错误 : 'Component ' X' is not included in a module. ..' 在子模块中声明时

angular - 使用 TypedJSON 解析 JSON (typedjson-npm)

javascript - 按 Angular 6 中的对象字段对对象数组进行排序