node caught
Doing something like this:
var p = Promise.reject(0);
setTimeout(() => p.catch(e => console.error('caught')), 0);
will generate a lot of helpful warnings:
(node:13548) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): 0
(node:13548) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:13548) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 1)
This module lets you write:
var caught = require('caught');
var p = caught(Promise.reject(0));
setTimeout(() => p.catch(e => console.error('caught')), 0);
to avoid those warnings. Use at your own risk.
For more info see this answer on Stack Overflow:
Installation
To use in your projects:
npm install caught --save
Usage
var caught = require('caught');
var p = caught(Promise.reject(0));
Note that it is not the same as writing:
var p = Promise.reject(0).catch(() => {});
which would not return the original promise and wouldn't let you to add catch
handlers later.
Issues
For any bug reports or feature requests please
post an issue on GitHub.
Author
Rafał Pocztarski
License
MIT License (Expat). See LICENSE.md for details.