Skip to content

Instantly share code, notes, and snippets.

@HenriqueSilverio
Last active December 23, 2021 16:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HenriqueSilverio/d8d06ff735e94cc9ad5dba553c055dae to your computer and use it in GitHub Desktop.
Save HenriqueSilverio/d8d06ff735e94cc9ad5dba553c055dae to your computer and use it in GitHub Desktop.
Utility for Express.js < 5
const asyncHandler = (fn) => (
(req, res, next) => {
Promise.resolve(fn(req, res, next))
.catch(next)
}
)
export default asyncHandler
import {
Request,
RequestHandler,
Response,
NextFunction,
} from 'express'
type AsyncRequestHandler = (...args: Parameters<RequestHandler>) => Promise<void>
const asyncHandler = (fn: AsyncRequestHandler) => (
(request: Request, response: Response, next: NextFunction) => {
Promise.resolve(fn(request, response, next))
.catch(next)
}
)
export default asyncHandler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment