首页 > 解决方案 > 打字稿错误 get 调用的预期类型参数为 0

问题描述

我收到 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 });
      }

标签: angulartypescriptrxjsobservable

解决方案


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());

推荐阅读