Javascript 您提供了“undefined”,其中在Redux Observable中预期有一个流
试着把我的头绕在RxJS和redux上 我有这个:Javascript 您提供了“undefined”,其中在Redux Observable中预期有一个流,javascript,reactjs,rxjs,redux-observable,Javascript,Reactjs,Rxjs,Redux Observable,试着把我的头绕在RxJS和redux上 我有这个: export const getSomeData = (action$) => action$.pipe( ofType(GET_USER_DATA), mergeMap((action) => getData(action.id)), map(fetchUserFulfilled), catchError((e) => of({
export const getSomeData = (action$) =>
action$.pipe(
ofType(GET_USER_DATA),
mergeMap((action) => getData(action.id)),
map(fetchUserFulfilled),
catchError((e) =>
of({
type: 'FAILED_TO_FETCH_DATA',
e,
}),
),
)
这很好,但现在我想在我拿回数据时实际触发2个观测值,所以我尝试了以下方法:
export const getSomeData = (action$) =>
action$.pipe(
ofType(GET_USER_DATA),
mergeMap((action) => getData(action.id)),
mergeMap((data) => {
const newData = data.somethingelse
of(fetchUserFulfilled(newData), anotherOne(newData))
}),
catchError((e) =>
of({
type: 'FAILED_TO_FETCH_DATA',
e,
}),
),
)
但这是失败的。那么,我如何解决这个问题,我有什么误解,我应该如何正确使用
mergeMap
?mergeMap
应该返回一个可观察的
mergeMap((数据)=>{
const newData=data.somethingelse
返回(fetchUserCompleted(newData),另一个(newData))
}),
啊,这几乎是对的,只是不“返回”任何东西?如果不指定返回值,它默认为未定义的
,现在我不知道内部是如何处理的