类型'Observable <object>'不可分配给类型'Observable <boolean>'

时间:2019-05-28 08:04:56

标签: angular observable angular7 type-mismatch

我有一个错误:  类型“可观察”不能分配给类型“可观察”。   不能将“对象”类型分配给“布尔”类型。

  deleteUser(userId: string): Observable<boolean> {
    return this.httpClient
      .delete(url, this.getHttpOptions())
      .map(res => {
        return res;
      })
      .catch(this.handleError);
  }

当我尝试打印res时,我得到的res类型是布尔值。

3 个答案:

答案 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);
}