【发布时间】:2016-07-18 18:36:41
【问题描述】:
我希望主要使用此处接受的答案来试验 forkJoin:
Angular2 Observable.forkJoin of observable variables - ReferenceError: Observable is not defined
我收到上述错误消息,因为 forkJoin 不可用。
有人知道为什么吗?
【问题讨论】:
我希望主要使用此处接受的答案来试验 forkJoin:
Angular2 Observable.forkJoin of observable variables - ReferenceError: Observable is not defined
我收到上述错误消息,因为 forkJoin 不可用。
有人知道为什么吗?
【问题讨论】:
这是你做的吗?
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/forkJoin';
您必须单独添加方法。
【讨论】:
import 'rxjs/add/observable/forkJoin',而不 import 'rxjs/add/operator/forkJoin'。已经被那个咬过两次了……
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了解更多。
【讨论】:
你只需要替换
import { Observable } from 'rxjs/Observable';
通过
import { Observable } from 'rxjs/Rx';
它会开始工作
警告:不要使用此方法,因为它将包含整个 RxJs 库(增加 kb 包大小)
【讨论】:
检查您的 Rxjs 版本,如果您使用的是 Rxjs 6,请使用
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/forkJoin';
不行,改用import { Observable, forkJoin } from 'rxjs'
【讨论】:
我一直在运行 Angular 5.2.0 版并遇到了类似的问题。所以不要用下面的方式调用 observable
import { Observable } from 'rxjs/observable'
我通过包含整个 RxJs 库来导入 Observable
import { Observable } from 'rxjs/Rx'
然后对于 forkJoin,包括下面的导入模块
import 'rxjs/add/observable/forkJoin';
代码编译成功。
【讨论】:
对我来说,Angular 4 有帮助:
import {Observable} from 'rxjs/Rx';
instead of:
import {Observable} from 'rxjs/Observable';
【讨论】: