gpt4 book ai didi

typescript - 可观察变量的 Angular2 Observable.forkJoin - ReferenceError : Observable is not defined

转载 作者:太空狗 更新时间:2023-10-29 16:56:02 25 4
gpt4 key购买 nike

我想请你帮忙。我省略了我认为不重要的代码。让我们想象一下包含服务调用的 TS 文件:

//文件:someService.ts

@Injectable()
export class SomeService {
method1(){
var observable = this.http.get(someUrl)
.map((res: Response) =><MyClass[]>res.json());
return observable;
}

method2(){
// Similar to method1
}
}

//文件:someComponent.ts

请注意,this.method1observable 和 method2observable 是从父(根)组件正确分配的,它们的类型是 Observable。

import {Observable}     from 'rxjs/Observable';

export class SomeClass {
public m1: Observable<MyClass[]>;
public m2: Observable<AnotherClass[]>

ngOnInit() {
Observable.forkJoin(this.m1,this.m2) //<- ERROR HERE
.subscribe(data => {
this.myFunction(data[0], data[1]);
requestAnimationFrame(this.renderLoop);
});
}
}

我得到 “未捕获的 ReferenceError:Observable 未定义”。你不知道我做错了什么吗?我看到了一些在服务内部调用 Observable.forkJoin 的例子。但是如果我想在组件内部调用它呢?

最佳答案

你可以尝试这样导入:

import {Observable} from 'rxjs/Rx';

代替:

import {Observable} from 'rxjs/Observable';

您还应该使用数组将您的可观察对象提供给 forkJoin 方法:

ngOnInit() {
Observable.forkJoin([this.m1,this.m2])
.subscribe(data => {
this.myFunction(data[0], data[1]);
requestAnimationFrame(this.renderLoop);
});
}

并且不要忘记在@Component 中指定输入:

@Component({
inputs: ['m1', 'm2']
})

关于typescript - 可观察变量的 Angular2 Observable.forkJoin - ReferenceError : Observable is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com