angular - 类型“错误”不匹配签名“(此:Observable<{}>,订阅者:订阅者<{}>):TeardownLogic”
问题描述
我有 angular 5.2.11,但今天我将它更新到 6,所以当我尝试构建时,我收到一个错误说:
TS2345:类型
Error
参数不可分配给类型参数(this: Observable<{}>, subscriber: Subscriber<{}>) => TeardownLogic
。类型Error
不提供签名的匹配项(this: Observable<{}>, subscriber: Subscriber<{}>): TeardownLogic
。
serviceInvoke<R,B>(baseUrl: string, relativeUrl: string, requestMethod: RequestMethod, params: {
[key: string]: any | any[]
}, body ? : B): Observable<R> {
const requestOptionsArgs = {
method: requestMethod,
params: params,
body: body
};
return this.httpClient.request(baseUrl + relativeUrl, requestOptionsArgs)
.pipe(
map((response: Response) => response.json()),
catchError((httpErrorResponse: Response) => new ErrorObservable(this.getError(httpErrorResponse)))
);
}
解决方案
可以肯定的是,map
在使用.response
response.json()
HttpClient
仅在使用Http
.
尝试摆脱它。像这样的东西:
serviceInvoke<R,B>(
baseUrl: string,
relativeUrl: string,
requestMethod: RequestMethod,
params: { [key: string]: any | any[] },
body?: B
): Observable<R> {
const requestOptionsArgs = {
method: requestMethod,
params: params,
body: body
};
return this.httpClient.request(baseUrl + relativeUrl, requestOptionsArgs)
.pipe(
catchError((httpErrorResponse: Response) => new ErrorObservable(this.getError(httpErrorResponse)))
);
}
推荐阅读
- java - 提高使用hibernate将数据保存到sql数据库的速度
- android - Android 任务和应用程序链接 - 当应用程序链接打开一个 Activity 时,检查哪个是任务中的前一个 Activity
- swift - 静态成员 '
'不能用于'Alignment'类型的实例 - java - Razorpay 付款 ID 在 onPaymentError Android 中返回 null
- python - selenium webriverwait 在没有描述的情况下引发错误
- batch-file - 为什么错误:不支持输入重定向,立即退出进程
- javascript - 找不到 React HTML 元素参考宽度和高度
- android - 使用协程在 Room 中的 ViewModel 中显示 LiveData
- scala - Spark - 从外部表创建 DataFrame
- java - 使用 Avro 序列化程序初始化 Kafka Producer 时出错:java.lang.NoClassDefFoundError