You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RxJS 6中如何正确导入ErrorObservable或_throw?

RxJS 6 中创建错误 Observable 的正确导入方式

在 RxJS 6 及后续版本里,你之前用的 _throw(用来避开 throw 关键字的导出)已经被重命名为**throwError**,而且导入路径也统一到了 rxjs 核心包下,再也不用从 rxjs/observable/throw 导入啦。

具体的使用步骤如下:

  1. 首先导入 throwError:
import { throwError } from 'rxjs';
  1. 然后创建错误 Observable:
const error$ = throwError(() => new Error('Something went wrong!'));

这里要提一句,RxJS 6 之后推荐用工厂函数形式传递错误(也就是上面例子里的 () => new Error(...)),而不是直接传错误实例。这么做是为了保证每次订阅这个 Observable 时都会生成新的错误实例,避免因为复用错误实例引发的意外问题。

对比你在 RxJS 5.5.2 里的写法:

// RxJS 5.5.2 的写法(现已废弃)
import { _throw } from 'rxjs/observable/throw';
const error$ = _throw(new Error('Something went wrong!'));

另外,如果是从旧版本迁移到 RxJS 6,官方有个 rxjs-compat 包可以临时兼容旧的导入和写法,但还是建议尽快切换到 throwError 的新方式,毕竟 rxjs-compat 只是过渡方案,后续版本会被移除。

内容的提问来源于stack exchange,提问作者Martin Nuc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:36:50