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

import {Observable} from 'rxjs/Observable';

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

return Observable.of(res);

什么好主意吗?


当前回答

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

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

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

import { Observable } from 'rxjs/Observable';

其他回答

从Angular 5 / Rxjs 5升级到Angular 6 / Rxjs 6?

您必须更改导入和实例化。看看达米恩的博客文章

Tl; diana:

import { Observable, fromEvent, of } from 'rxjs';

const yourResult = Observable
    .create(of(yourObservable))
    .startWith(null)
    .map(x => x.someStringProperty.toLowerCase());

//subscribe to keyup event on input element
Observable
    .create(fromEvent(yourInputElement, 'keyup'))
    .debounceTime(5000)
    .distinctUntilChanged()
    .subscribe((event) => {
        yourEventHandler(event);
    });

实际上我把导入弄乱了。在最新版本的RxJS中,我们可以像这样导入它:

import 'rxjs/add/observable/of';

对于Angular 5+:

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

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

import 'rxjs/add/observable/of';

显示rxjs-compat的需求

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

我没有安装这个。安装的

npm install rxjs-compat --save-dev

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

RxJS 6

当升级到RxJS库版本6且不使用RxJS -compat包时,执行以下代码

import 'rxjs/add/observable/of';   
  // ...
  return Observable.of(res);

要改成什么

import { of } from 'rxjs';
  // ...
  return of(res);