angular - 打字稿错误 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 });
}
解决方案
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());
推荐阅读
- python - 从 Python 中检索交互 Widget 值
- c++ - 无法获得简单的 2D 着色器以在 C++ openGL 中绘制红色三角形(无编译器错误)
- csv - pyspark 读取具有多行列的文本文件
- swift - 在 Swift 中从 NSDictionary 获取密钥时断言失败
- mysql - 选择过去 7 天使用的活动和非活动 MySQL
- php - 将 JSON 数组发送到 PHP
- ruby - logstash 版本 7.1.1 上的 ruby tIDENTIFIER 错误
- javascript - Javascript中的异步和等待问题
- php - 如何在 Laravel 中不使用循环插入多行(对象数组)?
- python - 我在 Python 中使用自定义函数时遇到了麻烦