Redux Thunk没有触发“window.onerror”事件

时间:2017-11-29 20:24:02

标签: javascript reactjs typescript error-handling redux

我正在尝试使用accepted answer of this question中列出的window.onerror添加全局错误记录。

当我在我的一个组件生命周期方法和同步redux操作中抛出错误时,我有它工作。但是,异步thunk操作引发的错误不会被我的处理程序捕获。

这是预期的吗?有什么方法可以在全局处理程序中捕获这些错误吗?

export const syncReduxAction = (): Action => {
  throw 'This will trigger window.onerror';
};

export const asyncReduxAction = (): ThunkAction<Promise<T>, GlobalState, void> =>
  async (dispatch, getState) => {
    throw 'This will NOT trigger window.onerror';
}

更新

According to this question,看起来异步错误实际上不是由window.onerror事件处理程序处理的。

但即使我抓住错误并重新抛出它:

this.props.dispatch(asyncReduxAction())
.catch((e)=> {
   throw new Error(e);
  }
);

它不会触发事件!

0 个答案:

没有答案