hard-rejection
Make unhandled promise rejections fail hard right away instead of the default silent fail
Last updated 8 years ago by sindresorhus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ gnpm install hard-rejection 
SYNC missed versions from official npm registry.

hard-rejection Build Status

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

Current Tags

  • 2.1.0                                ...           latest (6 years ago)

4 Versions

  • 2.1.0                                ...           6 years ago
  • 2.0.0                                ...           6 years ago
  • 1.0.0                                ...           8 years ago
  • 0.1.0                                ...           8 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 2
Last Month 0
Dependencies (0)
None
Dev Dependencies (3)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |