unpkg/modules/utils/asyncHandler.js

15 lines
381 B
JavaScript

/**
* Useful for wrapping `async` request handlers in Express
* so they automatically propagate errors.
*/
export default function asyncHandler(handler) {
return (req, res, next) => {
Promise.resolve(handler(req, res, next)).catch(error => {
req.log.error(`Unexpected error in ${handler.name}!`);
req.log.error(error.stack);
next(error);
});
};
}