L’avènement des promises en JS a grandement améliorer lisibilité, interopérabilité et simplicité du code. Néanmoins, à l’utilisation, on se heurte rapidement au problème des promises non résolues et non gérées, qui bloquent le programme.

Avec le code suivant, si doSomething() est rejetée, votre code sera silencieux car à aucun moment vous ne catchez l’erreur. Et pour trouver pourquoi votre code plante, il vous faudra chercher à l’aveugle dans votre code.

doSomething().then((res) => doSomethingElse(res));

Pour éviter cette situation et trouver les promises rejetées que vous auriez oublié de gérer, vous pouvez utiliser l’évènement unhandledRejection de process qui prendra le relai.

process.on('unhandledRejection', (reason) => console.error(`Unhandle promise rejection: ${reason}`));

Tout code qui suivra (et dont une promise rejetée ne sera pas gérée) sera remonté dans votre console. Utile en debug ou dans les cas de crashs incontrollable, ça ne doit par contre pas devenir une solution de logique dans votre application.