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

Angular 6中Observable.of is not a function报错原因排查请求

问题原因与解决方案

这个错误的核心原因是RxJS 6 对创建型操作符的使用方式做了重大调整——从你的package.json能看到,项目使用的rxjs版本是^6.0.0,而Observable.of()是RxJS 5及更早版本的写法,在RxJS 6里已经不再支持这种调用方式了,这就是你哪怕用全新项目也会报错的原因。

具体修改步骤

你已经在服务里正确导入了of操作符(import { Observable, of } from 'rxjs';),只需要修改getData方法的返回语句即可:

错误的写法:

public getData() : Observable<TableRow[]> {
  return Observable.of(this.testData);
}

修正后的写法:

public getData() : Observable<TableRow[]> {
  return of(this.testData);
}

补充说明RxJS 6的关键变化

RxJS 6为了优化包体积和API一致性,做了以下核心调整:

  • 所有创建型操作符(如of、from、interval)改为独立函数,直接导入后调用,不再挂载在Observable类上
  • 管道类操作符(如map、filter)需要通过pipe()方法串联使用,不再支持链式调用(比如observable.map(...)要改成observable.pipe(map(...)))

验证修改

修改完成后,重启你的Angular开发服务器(执行ng serve),"Observable.of is not a function"的错误就会消失,组件也能正常订阅并获取服务返回的测试数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:31:40