peach a19a732be8 commit message | 2 年 前 | |
---|---|---|
.. | ||
index.d.ts | 2 年 前 | |
index.js | 2 年 前 | |
license | 2 年 前 | |
package.json | 2 年 前 | |
readme.md | 2 年 前 | |
register.js | 2 年 前 |
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
.
$ npm install hard-rejection
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);
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';
Type: Function
Default: console.error
Custom logging function to print the rejected promise. Receives the error stack.
MIT © Sindre Sorhus