Package Exports
- hard-rejection
- hard-rejection/register
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hard-rejection) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
hard-rejection 
Make unhandled promise rejections fail hard right away instead of the default silent fail
Promises fail silently if you don't attach a .catch()
handler.
This module exits the process with an error message right away when an unhandled rejection is encountered.
Note: That might not be desirable as unhandled rejections can be handled at a future point in time, although not common. You've been warned.
Intended for top-level long-running processes like servers, but not in reusable modules.
For command-line apps and tests, see loud-rejection
.
Install
$ npm install hard-rejection
Usage
const hardRejection = require('hard-rejection');
const promiseFunction = require('some-promise-fn');
// Install the handler
hardRejection();
promiseFunction();
Without this module it's more verbose and you might even miss some that will fail silently:
const promiseFunction = require('some-promise-fn');
function error(error) {
console.error(error.stack);
process.exit(1);
}
promiseFunction().catch(error);
Register script
Alternatively to the above, you may simply require hard-rejection/register
and the handler will be automagically installed for you.
This is handy for ES2015 imports:
import 'hard-rejection/register';
API
hardRejection([log])
log
Type: Function
Default: console.error
Custom logging function to print the rejected promise. Receives the error stack.
Related
- loud-rejection - Make unhandled promise rejections fail loudly instead of the default silent fail
- More…
License
MIT © Sindre Sorhus