javascript - Redux Thunk nu declanșează evenimentul "window.onerror"
Încerc să adaug jurnalizare globală a erorilor folosind window.onerror, așa cum este descris în răspunsul acceptat la această întrebare.
Funcționează atunci când arunc o eroare într-una dintre metodele de ciclu de viață ale componentelor mele și în acțiunile redux sincrone. Totuși, erorile aruncate dintr-o acțiune thunk asincronă NU sunt prinse de handlerul meu.
Este acesta așteptat? Există vreo modalitate prin care pot prinde aceste erori într-un handler global?
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';
}
Actualizare
Conform acestei întrebări, se pare că erorile asincrone nu sunt, de fapt, gestionate de handler-ul de eveniment window.onerror.
Dar chiar dacă prind eroarea și o arunc din nou:
this.props.dispatch(asyncReduxAction())
.catch((e)=> {
throw new Error(e);
}
);
Nu declanșează evenimentul!