【发布时间】:2018-06-05 12:11:42
【问题描述】:
如何从多个 observable 中获取对象响应?
我的史诗是这样的:
export function metaDataEpic(action$: ActionsObservable<metaDataActions>) {
return action$.ofType(META_DATA_REQUEST)
.mergeMap((action: metaDataActions) => {
const { language } = action;
return Observable.merge(
Observable.fromPromise(couriersApi().then(r => r.json())),
Observable.fromPromise(itemCategoriesApi({ language }).then(r => r.json())),
Observable.fromPromise(airportsApi().then(r => r.json())))
.flatMap(res => {
console.log(res);
return Observable.of(getMetaDataSuccess({}))
});
});
}
我需要传递我的函数 getMetaDataSuccess() 一个对象,其中包含来自 courierApi()、itemCategoriesApi() 和 airportsApi() 的响应,就像这样 getMetaDataSuccess({ couriers, items, airports }) 但首先我需要等待所有 3 个承诺完成并且以某种方式合并到一个对象中作为响应。
我的代码现在所做的是打印来自 API 的响应,从而调用 getMetaDataSuccess 3 次。 enter code here
【问题讨论】:
标签: javascript react-native promise redux-observable