美文网首页RxJS
RxJS6实战经验 catchError捕获异常

RxJS6实战经验 catchError捕获异常

作者: 魔力sama | 来源:发表于2019-11-13 14:16 被阅读0次

catchError能捕获异常,且需要返回一个Observable,代码里的throwthrowError及其他JS错误均能被该操作符捕获。
需要注意的是,catchError捕获到异常后,数据源将不再执行。

代码示例

  1. 不添加catchError
from([1,2,3,4,5,6]).pipe(
  tap(v => {
    if (v == 3) throw 'err'
  })
).subscribe()

// console
1 2 error
  1. 添加catchErrorfrom
from([1,2,3,4,5,6]).pipe(
  tap(v => {
    if (v == 3) throw 'err'
  }),
  catchError(err => of(err))
).subscribe()

// console
1 2 'err' complete
  1. 添加catchError给高阶函数
from([1,2,3,4,5,6]).pipe(
  mergeMap(v => {
    return of(v).pipe(
        tap(v => {
            if (v == 3) throw 'err'
        }),
        catchError(err => of(err))
    )
  })
).subscribe()

// console
1 2 'err' 4 5 6 complete

可运行的代码示例

相关文章

  • RxJS6实战经验 catchError捕获异常

    catchError能捕获异常,且需要返回一个Observable,代码里的throw、throwError及其他...

  • Flutter 异常上报

    一、try cacth 可以捕获同步异常,使用catchError捕获异步异常 二、不论是同步异常还是异步异常我们...

  • flutter-异步支持

    Future用来异步操作。1.延时发送Future.then() 2.异常捕获Future.catchError ...

  • Flutter 中异步任务及多线程介绍

    异常的捕获 onError 与 catchError 的区别 当我们在 Future 的闭包中抛出异常的时候可以使...

  • Dart中的catchError捕获顺序

    先贴一下该方法的源码: 翻译一下主要的意思,就是这个catchError方法可以捕获其他Futrue的异常信息,如...

  • 08RxJS错误处理操作符

    默认的error catchError 无视错误,返回新的Observable 重试错误 捕获到错误时,重试时要加...

  • Python面向对象2

    异常 捕获异常image.png根据错误类型捕获异常image.png 未知错误捕获image.png 捕获异常完...

  • 工作总结-002

    异常捕获service捕获业务异常,自定义BaseException;interface捕获业务异常,以及其他异常...

  • C++学习第20课,异常

    1 异常 一句话概括:捕获异常 1.1 谁捕获异常?捕获谁? A捕获B A() { try{ B(); } ...

  • Python 面向对象 - 08 异常

    目录一、概念二、捕获异常2.1 简单的捕获异常语法2.2 错误类型捕获2.3 异常捕获完整语法三、异常的传递四、抛...

网友评论

    本文标题:RxJS6实战经验 catchError捕获异常

    本文链接:https://www.haomeiwen.com/subject/ztjhictx.html