Dva,effects中异步加载数据,后端报错500之后,dispatch失效了……

#1

功能很简单,点击按钮查询列表数据并用Table展示:
点击按钮,dispatch一个action。

点击按钮的时候如果后端报了500错误,等我再次点击按钮的时候就没反应了,我跟踪代码显示dispatch语句执行了,但是effects里的代码没执行,求助啊求助,有没有遇到过同样问题同志

#2

我在effects里把请求数据的代码用try catch包了起来,不让异常向上抛,这样就没有了之前的现象。虽然问题解决了,但是有木有大神讲解下为什么?
这是代码,其中try catch 我刚加的。

loadAsync: function* (action, { call, put }) {
      action.param;//可用作查询条件
      var res={}
      try{
        res = yield call(post, "/api/auth/cdPersonnelInfo/p", action.param)
      } catch (err){
        console.log(err.message);
      }
      yield put({ type: 'load', payload: res })
    }