私は、2つの非同期リクエストを持ってpromise.all()
redux-observable、promise.all()のような演算子のやり方は?
const fetchData1 =() => (action$: ActionsObservable<any>, store: any) => (
ajax.getJSON('../../mockData/promiseAll/data1.json').map((data: any) => {
return requestData1Success(data);
})
);
const fetchData2 =() => (action$: ActionsObservable<any>, store: any) => (
ajax.getJSON('../../mockData/promiseAll/data2.json').map((data: any) => {
return requestData2Success(data);
})
)
const requestAllDataEpic = (action$: ActionsObservable<any>, store: any) => {
return action$.ofType(t.REQUEST_ALL_DATA)
.map((action) => action.payload)
.switchMap((names: string[]) => {
console.log(names);
return Observable.forkJoin([
fetchData1()(action$, store),
fetchData2()(action$, store)
])
.map((results: any[]) => {
const [action1, action2] = results;
requestData1Success(action1);
requestData2Success(action2);
});
});
};
のような仕事をするしかし、私はアクションをディスパッチするとき、コンソールは私にエラーを与える叙事詩を書きたい:
Uncaught TypeError: Cannot read property 'type' of undefined
私は思います理由は、私はミドルウェアにaction
オブジェクトを与えていませんが、undefined
です。
これを正しく行うにはどうすればよいですか?提供された例で