我有导入可观察对象的问题。在我的项目中的作用。我的Intellij能看到一切。在我的代码中我有:

import {Observable} from 'rxjs/Observable';

在我的代码中,我这样使用它:

return Observable.of(res);

什么好主意吗?


当前回答

虽然这听起来很奇怪,但对我来说,从'rxjs/Observable '导入{Observable}的导入路径中大写'O'很重要。带有observable_1.Observable的错误消息。of不是一个函数,如果我从rxjs/ Observable导入Observable。很奇怪,但我希望它能帮助到其他人。

其他回答

我的愚蠢错误是在需要可观察对象时忘记了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';
import 'rxjs/add/observable/of';

显示rxjs-compat的需求

require("rxjs-compat/add/observable/of");

我没有安装这个。安装的

npm install rxjs-compat --save-dev

重新运行解决了我的问题。

对我来说(Angular 5 & RxJS 5),自动完成导入建议:

import { Observable } from '../../../../../node_modules/rxjs/Observable';

而to应该是(所有来自,of, E.C.T的静态操作符都工作正常:

import { Observable } from 'rxjs/Observable';

不管出于什么原因,补丁对我来说不起作用,所以我不得不求助于以下方法:

import { of } from 'rxjs/observable/of'

// ...

return of(res)

对于Angular 5+:

import {Observable} from 'rxjs/Observable';观察者包应该匹配导入,并从'rxjs/ observer '导入{observer};如果你用的是观察器的话

从'rxjs'导入{<something>};是一个巨大的进口,所以最好避免它。