我有导入可观察对象的问题。在我的项目中的作用。我的Intellij能看到一切。在我的代码中我有:
import {Observable} from 'rxjs/Observable';
在我的代码中,我这样使用它:
return Observable.of(res);
什么好主意吗?
我有导入可观察对象的问题。在我的项目中的作用。我的Intellij能看到一切。在我的代码中我有:
import {Observable} from 'rxjs/Observable';
在我的代码中,我这样使用它:
return Observable.of(res);
什么好主意吗?
当前回答
对于Angular 5+:
import {Observable} from 'rxjs/Observable';观察者包应该匹配导入,并从'rxjs/ observer '导入{observer};如果你用的是观察器的话
从'rxjs'导入{<something>};是一个巨大的进口,所以最好避免它。
其他回答
甚至Webstorm也做了这样的import {of} from 'rxjs/observable/of'; 一切都开始运转起来
对我来说(Angular 5 & RxJS 5),自动完成导入建议:
import { Observable } from '../../../../../node_modules/rxjs/Observable';
而to应该是(所有来自,of, E.C.T的静态操作符都工作正常:
import { Observable } from 'rxjs/Observable';
对于Angular 5+:
import {Observable} from 'rxjs/Observable';观察者包应该匹配导入,并从'rxjs/ observer '导入{observer};如果你用的是观察器的话
从'rxjs'导入{<something>};是一个巨大的进口,所以最好避免它。
我使用的是Angular 5.2和RxJS 5.5.6
这段代码不起作用:
import { Observable,of } from 'rxjs/Observable';
getHeroes(): Observable<Hero[]> {
return of(Hero[]) HEROES;
}
下面的代码可以工作:
import { Observable } from 'rxjs/Observable';
import { Subscriber } from 'rxjs/Subscriber';
getHeroes(): Observable<Hero[]>
{
return Observable.create((observer: Subscriber<any>) => {
observer.next(HEROES);
observer.complete();
});
}
调用方法:
this.heroService.getHeroes()
.subscribe(heroes => this.heroes = heroes);
我认为他们可能移动/改变了RxJS 5.5.2中的()功能
我今天遇到了这个问题。我使用systemjs加载依赖项。
我像这样加载Rxjs:
...
paths: {
"rxjs/*": "node_modules/rxjs/bundles/Rx.umd.min.js"
},
...
使用下面的语句代替使用路径:
var map = {
...
'rxjs': 'node_modules/rxjs',
...
}
var packages = {
...
'rxjs': { main: 'bundles/Rx.umd.min.js', defaultExtension: 'js' }
...
}
systemjs加载库方式的这个小改变解决了我的问题。