我有一个angular2服务,它进行API调用,然后返回一个observable,但是,RXJS返回一个错误,说EXCEPTION:Rx没有定义。我还需要导入什么?当然,我不需要导入整个文件夹?
!---进口
import 'rxjs/add/observable/from';
import 'rxjs/add/operator/map';
!---服务代码
const server = 'http://api.myserver.com';
return (dispatch) => {
dispatch(this.requestJson());
let s = this._http.get(`${server}`);
s.flatMap(s => {
let theRes = JSON.parse(s._body);
return Rx.Observable.from(theRes); <--- happens right here
}).filter(function(data) {
console.log('all array ' + data);
return true;
}).subscribe(function (v) {
console.log(v);
});
答案 0 :(得分:2)
您无需单独使用Rx.Observable
,Observable
即可。并添加:
import {Observable} from 'rxjs/Observable'
更新:Angular CLI改进了树震动,因为我发布了这个答案,你绝对应该总是从它自己的模块导入:
import {Observable, Subscription} from 'rxjs' // is okay
import {Observable} from 'rxjs/Observable' // much better
import {Subscription} from 'rxjs/Subscription' // much better