16

对 redux-observables、rxjs 和 observables 来说非常新。想知道我如何处理另一个动作,在同一个史诗中说“ActionTwo”

const Epic1 = (action$,store) => {
return action$.ofType('ActionOne')
 .mergeMap((action) => {
      return ajax({'method': 'GET', 'url': 'someUrl')
         .map(response => resultActoin(action.userId, response.response));


       }
  );
 }

就像是

const Epic1 = (action$){
   if('ActionOne') make a API call.
   if('ActionTwo') make some other API call.
   else do nothing.

}
4

1 回答 1

38

是同一个 API 调用吗?如果是这样,则ofType()接受不止一种类型。你可以这样做action$.ofType('ActionOne', 'ActionTwo')

如果您想向另一个 API/URL 发出请求,我建议您制作另一个史诗。您可以“合并”所有史诗,combineEpics请参见:https ://redux-observable.js.org/docs/basics/SettingUpTheMiddleware.html

于 2017-03-16T14:56:11.737 回答