错误 TS2339:类型“Observable”上不存在属性“catchError”

2023-11-23

这是我在 book.service.ts 中的代码:

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import {Observable} from 'rxjs';
import { Book } from './book';
import { map } from "rxjs/operators";
import { catchError } from 'rxjs/operators';

//import { Component, OnInit } from '@angular/core';
//import {HttpClient} from "@angular/common/http";
//import { Observable } from 'rxjs/Observable'; 
//import 'rxjs/add/operator/map';
//import 'rxjs/add/operators/catch';
//import 'rxjs/operators/toPromise';

@Injectable()
export class BookService 
{
    url = "http://localhost:4200/assets/data/books.json";

    constructor(private http:Http) { }

    getBooksWithObservable(): Observable<Book[]> 
    {
        return this.http.get(this.url)
                .pipe(map(this.extractData))
                .catchError(this.handleErrorObservable);
    }
    getBooksWithPromise(): Promise<Book[]> 
    {
        return this.http.get(this.url).toPromise()
            .then(this.extractData)
            .catch(this.handleErrorPromise);
    }
    private extractData(res: Response) 
    {
        let body = res.json();
        return body;
    }
    private handleErrorObservable (error: Response | any) 
    {
        console.error(error.message || error);
        //console.log("Error in Observable");
        return Observable.throw(error.message || error);
    }
    private handleErrorPromise (error: Response | any) 
    {
        console.error(error.message || error);
        return Promise.reject(error.message || error);
    }   
}

我在这里收到错误:

src/app/book.service.ts(26,18) 中的错误:错误 TS2339:类型“Observable”上不存在属性“catchError”。

错误在第 26 行,即:

.catchError(this.handleErrorObservable); 

我尝试了很多方法但没有任何效果...有人能解决这个问题吗?

做了“catch”但没有用,所以我去寻找“catchError”,但仍然存在这个错误......


catchError需要导入然后使用.pipe:

import {catchError} from 'rxjs/operators'; 

return this.http.get(this.url)
            .pipe(
              map(this.extractData),
              catchError(this.handleErrorObservable)
            );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 TS2339:类型“Observable”上不存在属性“catchError” 的相关文章

随机推荐

  • @TestPropertySource 未加载属性

    我正在为 Spring Boot 应用程序编写集成测试 但是当我尝试使用 TestPropertySource 覆盖某些属性时 它会加载上下文 xml 中定义的属性文件 但不会覆盖注释中定义的属性 RunWith SpringJUnit4C
  • 用汇编程序编写 x86_64 Linux 内核模块

    我尝试在 nasm 中编写简单的内核模块 v3 6 但 insmod 告诉我 sudo insmod hello ko insmod ERROR could not insert module hello ko Invalid module
  • 键盘弹起时调整滚动视图

    我有一个带有表单的活动 因为表单很长 所以我使用了滚动视图 问题是键盘弹起时滚动视图不会改变 键盘与滚动视图的最后部分重叠 如何确保键盘位于滚动视图下方 并且调整滚动视图以适应其上方的空间 同时 有没有办法确保 上一个 和 下一个 按钮也在
  • 在 git post-commit 挂钩中,如何获取已更改的文件列表?

    尝试计算 Git 提交后挂钩中的提交花费了多长时间 我有一个提交后 git 挂钩 它通过 API 提交有关提交的信息 我想做的是弄清楚提交花费了多长时间 大致 我的假设是 可以通过找到所涉及文件的所有创建时间和修改时间的最小值并将其与最大创
  • 为什么我得到;使用“const char *”类型的表达式初始化“char *”会丢弃限定符吗?

    我不明白为什么我会收到此警告clang我自己 function prototype const modifier c 13 8 warning initializing char with an expression of type con
  • Django:在模板中列出模型字段名称和值[重复]

    这个问题在这里已经有答案了 可能的重复 Django 迭代模板中的模型实例字段名称和值 Hi 我试图在模板中列出通用 Django 模型的字段和相应值 但是 我找不到针对相当常见问题的内置解决方案 我非常接近解决方案 但找不到出路 view
  • 在JS中从ids自动创建变量? [复制]

    这个问题在这里已经有答案了 就在今天 经过几年的 JavaScript 编程 我遇到了一些让我震惊的事情 浏览器为每个具有 id 的元素创建对象 对象的名称将与 id 匹配 所以如果你有 div div 你可以做 alert box obj
  • Obj-C 2.0 中合成原子 @properties 的锁定细节

    Obj C 2 0 中的属性文档说原子属性在内部使用锁 但没有记录锁的细节 有谁知道这是一个按属性锁 一个与 synchronized self 使用的隐式锁分开的按对象锁 还是 synchronized self 的等效项 查看生成的代码
  • 每个用户的 Firebase 文档?

    我想知道如何在每个用户创建帐户 使用 Firebase Web 时为他们制作一个文档 我启用了 Firebase 身份验证并正在运行 我希望每个用户都可以在 Cloud Firestore 中名为 users 的集合中拥有一个文档 我如何获
  • 日期错误异常

    我正在尝试使用 java 在 sql 中输入 1900 年的日期 但出现异常 com mysql jdbc MysqlDataTruncation Data truncation Incorrect datetime value 1900
  • 如何使用 C 找到应用程序包 (NSBundle) 中文件的路径?

    是否有 C API 用于查找应用程序包中文件的路径 我知道这可以在 Objective C 中使用以下语法来完成 NSString path NSBundle mainBundle pathForResource MyImage ofTyp
  • Android短屏亮度代码!

    谁知道为什么这段代码不会降低我的应用程序的背光 Context context this Settings System putInt context getContentResolver Settings System SCREEN BR
  • 将事件添加到 CalendarView

    我认为这个问题说明了一切 是否可以在 Android 默认情况下显示事件CalendarView 我知道它是为小部件而不是真正的日历应用程序制作的 但我的应用程序不应该是日历应用程序 这只是我的应用程序中的一个小功能 所以我认为视图非常适合
  • C++ 的 std::string 池、调试版本? std::string 和 valgrind 问题

    我遇到了许多关于 std string 中可能存在内存泄漏的 valgrind 警告的问题 如下所示 120 bytes in 4 blocks are possibly lost in loss record 4 192 of 4 687
  • 如何使用 iOS 版谷歌地图 sdk 获取位置的 CGPoint?

    如何使用 iOS 版谷歌地图 sdk 获取位置的 CGPoint 我需要在用户位置上添加 pinview 它基本上是相反的这个问题 例如 GMSMapView mapView CLLocationCoordinate2D coordinat
  • 通过 ADO.Net 和 COM 互操作性进行 MS Access 批量更新

    这是一种后续行动这个线程 这都是与 Net 2 0 至少对我来说 本质上 Marc 上面的 OP 尝试了几种不同的方法来更新包含 100 000 条记录的 MS Access 表 并发现使用 DAO 连接大约是快 10 30 倍与使用 AD
  • 对于从事 Drupal 项目的小型分布式团队来说,最佳实践是什么?

    经过一番研究 我们选择在下一个项目中与 Drupal 合作 我们是一个分布式团队 由于 Drupal 将所有内容存储在数据库中 基于我们到目前为止所看到的 作为一个分布式团队 我们如何才能在这个项目上协同工作 我们应该采取哪些最佳实践 我们
  • Qt moveToThread() 与调用新线程何时使用每个

    我们什么时候在线程应用程序中使用每个函数调用 给定在同一类中定义的两个函数 fun1 和 fun2 处理数据读 写到缓冲区 队列操作 来实现多线程这些 我们必须在单独的线程中运行这两个函数 现在假设第一个函数 read 在其线程开始时被调用
  • 在 python 中运行 AppleScript 时“不允许用户交互”

    我有苹果脚本 它将显示菜单列表并允许用户选择菜单项等 它本身运行良好 现在我尝试在 python 中运行它 我收到不允许用户交互的消息 1713 错误 我上网查了一下 我尝试了以下方法 在同一个 applescript 中添加 run 函数
  • 错误 TS2339:类型“Observable”上不存在属性“catchError”

    这是我在 book service ts 中的代码 import Injectable from angular core import Http Response from angular http import Observable f