1
我有一個簡單的應用程序,它基於城市列表每隔X秒從服務中檢索一些天氣信息,然後顯示信息。從rxjs中的另一個observable獲取合併的觀測值流
我正在使用Angular 4和ngrx來完成這個工作,但我希望將一些事情重構成更具響應性的東西。
所以這是一段代碼,我想改變:
@Effect()
weather$: Observable<Action> = this.actions$
.ofType(LOAD_WEATHER_ACTION)
.switchMap(() => {
const cityObservables = this.cities.map(city =>
this.service.getWeatherByCityId(city.id, city.name)
);
return Observable.merge(...cityObservables);
})
.map(weather => new CityWeatherLoadedAction(weather));
所以這裏的語法並不重要。這樣做的是,每當我得到一個類型爲LOAD_WEATHER_ACTION的動作時,我都會創建一個observables列表,每個城市都有一個我想獲取數據的列表,然後使用merge將它們全部組合起來,然後使用switchMap替換新的可觀察流。
一切都好,但如果我的城市列表,而不是簡單的數組,是另一個可觀察的?我會怎麼做?
謝謝!