我有一个错误: 类型“可观察”不能分配给类型“可观察”。 不能将“对象”类型分配给“布尔”类型。
deleteUser(userId: string): Observable<boolean> {
return this.httpClient
.delete(url, this.getHttpOptions())
.map(res => {
return res;
})
.catch(this.handleError);
}
当我尝试打印res时,我得到的res类型是布尔值。
答案 0 :(得分:3)
在编译时,TypeScript不知道API调用实际上来自什么,而是从声明和函数签名中推断出来的。
.delete<boolean>(url, this.getHttpOptions())
应该工作。
(是的,抛开map
)。
答案 1 :(得分:1)
res
的类型必须为boolean
,默认情况下为any
。通过以下替换地图:
map((res:boolean) => {
return res;
})
答案 2 :(得分:0)
您可以通过删除.map
(不执行任何操作)来解决此问题:
deleteUser(userId: string): Observable<boolean> {
return this.httpClient
.delete(url, this.getHttpOptions())
.catch(this.handleError);
}