makeomatic/redux-connect

Handle thrown errors in promise callbacks

Open

#108 aberto em 23 de fev. de 2017

Ver no GitHub
 (4 comments) (3 reactions) (0 assignees)JavaScript (73 forks)batch import
enhancementhelp wanted

Métricas do repositório

Stars
 (550 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

This line of code does not catch errors so instead they get lost in the event loop and the component never gets rendered correctly. Additionally, it's hard to catch and display the error in an isomorphic app.

Something like this would reproduce it:

@asyncConnect([{
  deferred: true,
  promise: () => {
    throw new Error('whoops, this was not supposed to happen');
  },
}])
class SomeComponent extends React.Component {
  ...
}

It should be fixable like this:

let promiseOrResult;
try {
  promiseOrResult = item.promise(rest);
} catch (error) {
  promiseOrResult = Promise.reject(error);
}

Guia do colaborador