如何处理服务器/请求错误?

时间:2016-07-28 19:55:58

标签: flux

我已经从组件中调用了一个动作创建器来创建/编辑资源,而资源又向服务器发送API请求。我该如何处理服务器关闭或返回错误的情况?我希望任何相关组件都能获得成功/失败的通知。

我目前的想法是:

  1. 向评论商店发送COMMENT_FAILED,COM​​MENT_SUCCESS动作,然后以某种方式通知组件?

  2. 在发起组件中使用promise来捕获动作调用中的错误并适当地响应/呈现它们。

  3. 哪个更好?为什么呢?

    之前曾在React+Flux: Notify View/Component that action has failed?中提出这个问题,但唯一提出的解决办法就是使用2中的Promises。我当然可以这样做,但似乎......不像Flux一样。

1 个答案:

答案 0 :(得分:1)

我通常做的是创建一个特定于我的容器/组件的错误减少器。例如,如果用户提交了登录信息,我会将错误发送到我的登录reducer,如下所示。

export default function dispatchError() {
      return function(dispatch) {
           dispatch({
                type: 'LOGIN_ERROR',
                payload: 'You entered an incorrect password'
           });
      }
 }   

现在在你的实例中,这将是非常相似的。任何时候发送给您的减速机的请求都会失败。