接下来如何使用 2 个组合 Observables 的返回值?
在创建 map 之前,我需要先获取设置和当前位置。
let trackerObservable = this.tracker.getCurrentPosition();
let settingsObservable = this.user.loadSettings();
Observable.merge(trackerObservable, settingsObservable)
.switchMap((coords: Coordinates, settings: Settings) => {
this.currentCoords = coords;
return this.navigatorMap.createMap(map_id, {
lat: coords.latitude,
lng: coords.longitude
}, settings);
}).subscribe(() => { [...] })
最佳答案
使用forkJoin
获取两个可观察数据。
Observable
.forkJoin(trackerObservable, settingsObservable)
.map((data: Array<any>) => {
let coords: data[0];
let settings: data[1];
this.currentCoords = coords;
return this.navigatorMap.createMap(map_id, {
lat: coords.latitude,
lng: coords.longitude
}, settings);
});
关于rxjs - 组合 2 个 Observables rxjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46358009/