Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

express-asyncable

laudeon19MIT0.1.5

Wrap async/await middleware function for Express. Catches error and passes it to next.

readme

express-asyncable

Wraps async/await Express middlewares. Catches error and passes it to next.
Avoid wrinting try/catch in your middlewares.

Build Status npm version

Why?

DRY when catching errors from asyn/await Express middlewares.

This module exposes a wrapper for param middleware as well, which is using a different signature (req, res, next, value).

API

.middleware(function)

Where function returns a promise and accepts req, res, next arguments.

.paramMiddleware(function)

Where function returns a promise and accepts req, res, next and value arguments.

Usage example

import { middleware, paramMiddleware } from "asyncable"
// const { middleware, paramMiddleware } = require('asyncable')
// ...

router.param('userId', paramMiddleware(model.findObject.bind(model)))

router.route('/')
  .get(
    // ACL middleware or whatever before for instance...
    middleware(userController.list.bind(userController))
  )
  .post(
    // ACL middleware or whatever before for instance...
    middleware(userController.add.bind(userController))
  )