我正在尝试使用forkJoin来主要使用接受的答案:
Angular2 Observable.forkJoin of observable variables - ReferenceError: Observable is not defined
我收到上述错误消息,因为forkJoin不可用。
任何人都知道为什么?
答案 0 :(得分:47)
你做到了吗?
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/forkJoin';
您必须单独添加方法。
答案 1 :(得分:15)
Angular 6对此有所改变。 forkJoin已被转换为常规函数,而不是:
import {Observable} from 'rxjs/Observable';
...
return Observable.forkJoin(
this.http.get('someurl'),
this.http.get('someotherurl'));
使用:
import {forkJoin} from 'rxjs';
...
return forkJoin(
this.http.get('someurl'),
this.http.get('someotherurl'));
您可以转到https://www.metaltoad.com/blog/angular-6-upgrading-api-calls-rxjs-6以获得更多说明。
答案 2 :(得分:2)
检查您的Rxjs版本,如果您使用的是Rxjs 6,请使用
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/forkJoin';
无效,请改用import { Observable, forkJoin } from 'rxjs'
答案 3 :(得分:1)
我一直在运行Angular 5.2.0版并遇到类似的问题。所以不要用以下方式调用observable
import { Observable } from 'rxjs/observable'
我通过包含整个RxJs库
来导入 Observableimport { Observable } from 'rxjs/Rx'
然后对于 forkJoin ,包含以下导入模块
import 'rxjs/add/observable/forkJoin';
并且代码编译成功。
答案 4 :(得分:0)
对我来说,Angular 4会有所帮助:
import {Observable} from 'rxjs/Rx';
instead of:
import {Observable} from 'rxjs/Observable';