Javascript 反应/重复,如何;连锁店;http调用位于中间件中时http调用的操作

Javascript 反应/重复,如何;连锁店;http调用位于中间件中时http调用的操作,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在设置一个基本的应用程序来调用服务器获取一些东西。一个问题是,我已经将服务器调用作为一个中间件,以便与我一起工作的其他开发人员可以使用它。我可以打电话-但是我想添加“加载”、“成功”和“错误”操作。之前-我可以通过将调用放在action creator本身中轻松实现这一点,例如: //in the action creator export function fetchData() { return dispatch => { request .get('/myAp

我正在设置一个基本的应用程序来调用服务器获取一些东西。一个问题是,我已经将服务器调用作为一个中间件,以便与我一起工作的其他开发人员可以使用它。我可以打电话-但是我想添加“加载”、“成功”和“错误”操作。之前-我可以通过将调用放在action creator本身中轻松实现这一点,例如:

  //in the action creator
  export function fetchData() {
  return dispatch => {


request
  .get('/myApi')
  .end((err, res) => {
    if (err) {

      dispatch({
        type: LOADING_ERROR,
        error: err
      });
    } else {

      let myData = JSON.parse(res.text);
      dispatch({
        type: LIST_DATA,
        myData
      });
    }
  });
dispatch({
  type: LOADING_DATA
});
};
这对我来说非常有用,因为可以在ui上访问加载/成功/错误(这样我就可以做显示/隐藏加载程序之类的事情)

在这个新项目中,我在一个中间件中进行了调用,如下所示:

 //the middleware
export default (actionObject) => (store) => (next) => (action) => {

switch(action.type) {
    case actionObject.LIST:

        let constructedURL = actionObject.URL + "?query=&context=" + actionObject.context;
              request
                .get(constructedURL)
                .end((err, res) => {
                    if (err) {
                        return next(action);
                    }
                    action[options.resultAction] = res.body;
                    return next(action);
                });
        break;

    default:
        return next(action);
  }
}
因此,
actionObject
只是一个对象,您可以通过它来设置这个中间件,这样它就可以与您自己的操作/简化程序一起工作,但它只是匹配您定义的操作来进行调用。现在的问题是,我不知道如何从这里重新开始加载/成功/错误操作。我在我的动作和减速器中设置了它们,但我不确定如何以这种方式执行

我第一次看到这样的东西-,但是我不确定这是否正是我想要做的。我不确定在哪里可以告诉它启动操作
数据加载
,然后在调用成功时启动
列表数据
加载错误
。如果您有任何建议,我都可以,谢谢您的阅读