0
2つのAJAXリクエストの結果がいくらか計算されるのを待つ必要があります。Observable.forkJoinへのサブスクリプションは決して呼び出されません
私は仕事をしていると思われるObservable.forkJoin
メソッドを見つけました。だから私のコンポーネントに私が追加しました:
import { Observable } from 'rxjs/Rx';
// ...
ngOnInit() {
Observable.forkJoin(
this.instrumentService.current,
this.tuningService.tunings
).subscribe(
data => {
console.log(data);
}
);
}
AJAXリクエストが送信されますが、私はsubscribe
コールバックに渡すことはありません。
私はそれぞれの要求を実行しようとした場合separatlyそれが正常に動作します:データサービス(instrumentService
とtuningService
)で
this.instrumentService.current.subscribe(instrument => {
console.log(instrument);
this.instrument = instrument;
});
this.tuningService.tunings.subscribe(tunings => {
console.log(tunings);
this.tunings = tunings;
});
を、Observable
は、バグのかもしれないソース(このようにしていないと宣言されています)知っている:
private _tunings: BehaviorSubject<Tuning[]> = new BehaviorSubject([]);
/**
* Class constructor.
*
* @param {ApiService} apiService
*/
constructor (private apiService: ApiService) {
this.getAll().subscribe(tunings => this._tunings.next(tunings));
}
public get tunings() {
return this._tunings.asObservable();
}
public getAll(): Observable<Tuning[]> {
return this.apiService.call(this.url);
}
apiService
は、内蔵の角度http
サービスを呼び出すの責任です。 Observable
リターンnull
の一つが、その後forkJoin
サブスクリプションが呼び出されない場合は私の知る限り、現在forkJoin
を覚えているよう
はい、それです。私の 'BehaviorSubject'は初期状態として' null'を使います。 'zip'メソッドでうまく動作します。ありがとう。 – Elorfin