我有导入可观察对象的问题。在我的项目中的作用。我的Intellij能看到一切。在我的代码中我有:
import {Observable} from 'rxjs/Observable';
在我的代码中,我这样使用它:
return Observable.of(res);
什么好主意吗?
我有导入可观察对象的问题。在我的项目中的作用。我的Intellij能看到一切。在我的代码中我有:
import {Observable} from 'rxjs/Observable';
在我的代码中,我这样使用它:
return Observable.of(res);
什么好主意吗?
当前回答
我的愚蠢错误是在需要可观察对象时忘记了add /add。
Was:
import { Observable } from 'rxjs/Observable';
import 'rxjs/observable/of';
这看起来没问题,因为rxjs/observable/of file实际上是存在的。
应该是:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
其他回答
RxJS 6
当升级到RxJS库版本6且不使用RxJS -compat包时,执行以下代码
import 'rxjs/add/observable/of';
// ...
return Observable.of(res);
要改成什么
import { of } from 'rxjs';
// ...
return of(res);
虽然这听起来很奇怪,但对我来说,从'rxjs/Observable '导入{Observable}的导入路径中大写'O'很重要。带有observable_1.Observable的错误消息。of不是一个函数,如果我从rxjs/ Observable导入Observable。很奇怪,但我希望它能帮助到其他人。
import 'rxjs/add/observable/of';
显示rxjs-compat的需求
require("rxjs-compat/add/observable/of");
我没有安装这个。安装的
npm install rxjs-compat --save-dev
重新运行解决了我的问题。
如果有人在使用Angular >= 6和rxjs版本6或更高版本时遇到了这个问题,请参阅这里的答案: 无法使用可观察对象。在RxJs 6和Angular 6中
简而言之,你需要像这样导入它:
import { of } from 'rxjs';
然后不是打电话
Observable.of(res);
只使用
of(res);
你也可以这样导入所有的操作符:
import {Observable} from 'rxjs/Rx';