当前位置: 首页 > 知识库问答 >
问题:

属性'catch'不存在于类型'观察'[重复]

金阳曜
2023-03-14

我是个新手。目前我正在学习6个特征。当我试图处理错误时,会出现如下问题:,

未找到模块:错误:无法解析“D:\WORKSPACE\Angular5\binding\src\app”中的“rxjs/add/observable/throw”

找不到模块:错误:无法解决'D:\WORKSPACE\Angular5\绑定\src\app'中的'rxjs/add/操作员/捕获'

src/app/employee.service.ts(20,14)中的错误:错误TS2339:类型'可观察'上不存在属性'捕获'

这是我的employee.service.ts

import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { IEmployee } from './employee';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';

//It self injectable defendency.
@Injectable({
  providedIn: 'root'
})
export class EmployeeService {

  private _url: string = "/assets/data/employees.json";

  constructor(private http: HttpClient) { }

  getEmployees(): Observable<IEmployee[]>{
    return this.http.get<IEmployee[]>(this._url)
            .catch(this.errorHandler);                    
  }

  errorHandler(error: HttpErrorResponse){
      return Observable.throw(error.message || "Server Error");
  }
}

employee.ts

export interface IEmployee{
    id : number,
    name : String,
    age : number
}

我试图用下面的链接来解决这个问题。但是我无法得到我问题的答案。

类型“Observable”和角度HTTP GET上不存在属性“catch”,类型脚本错误为HTTP。得到(…)。map不是[null]中的函数

请给我一些解决办法。谢谢你。

共有1个答案

轩辕瑞
2023-03-14

在角6中,我们使用rxjs 6,你的例子对旧版本的角正确,你可能需要阅读更多关于rxjs 6的信息

这样试试

  getEmployees(): Observable<IEmployee[]>{
    return this.http.get<IEmployee[]>(this._url)
               .pipe(catchError(this.handlerError));
   }

捕获/捕获错误,RxJS 6更改

 类似资料:
  • 我想使用以下代码实现文件下载: RestAPI: 服务: 组件: 当我启动angular时,我得到错误:src/app/panel/service/download中的错误。服务ts(17,91):错误TS2339:类型“Observable”上不存在属性“map”。 将导入代码的正确wya是什么?当我点击下载按钮时,什么也没发生。

  • 我刚刚从Angular 2 beta16升级到beta17,这反过来需要rxjs 5.0。0-β。6.(此处的更改日志:https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta17-2016-04-28)在beta16中,关于可观测/地图功能,所有功能都运行良好。以下错误在我升级后出现,并在typescript尝试传输

  • 在Angular 2使用Http服务的文档页面上,有一个示例。 我克隆了angular2 webpack初学者项目,并自己添加了上述代码。 我导入使用 我假设属性也被导入(起作用)。查看了rxjs.beta-6的更改日志,没有提到任何关于的内容。

  • 我需要在Nativescript中从web服务获取所有警报。但是地图不起作用。我试过这个函数。在Angular 5中工作正常,但在Nativescript中显示此错误: [ts]类型“Observable”上不存在属性“map”。在这方面。映射((响应:响应)= 我导入这个:

  • 我刚刚开始使用Angular2,我有一个我不能真正理解的问题。 我创建了一些模拟数据: 然后将其导入服务并“观察” 然后我有一个组件,在构造函数中: 第一个控制台。日志记录包含testDataArray属性的Object类型的对象。 第二个控制台。日志,在编译时导致错误: 同时仍按预期记录对象[Object, Object,...]的数组。 我真的不明白为什么,我肯定我做错了什么,我想要一个解释。

  • 问题内容: 回答“ 我如何知道数组内元素的值是否已更改”这一问题时受到启发 ,答案是使用 属性观察 器检查数组是否已被修改。 但是,如何确定属性查看器中集合类型中的已更新元素是什么?例如: 请注意,每次添加,更新或删除操作都已调用该代码,但是我如何才能确切知道受影响的元素是什么?有没有办法通过将数组除以 Property Observer 来实现这一目标? 我问的是Swift中的所有集合类型,因为