node-async-router is a patched version of pillarjs/router that adds support for ES2016/ES7 async functions.
This module is not a compiler, transpiler, shim, polyfill, or anything else that modifies your code or runtime environment, so if you want to use async functions you will still need to use something like Babel.
var app =router = ;router;app;app;
$ npm install node-async-router
node-async-router is a thin wrapper around the router module. Aside from monkey-patching in support for async functions as middleware, it retains 100% compatible with its preexisting API (the bulk of the work is still actually done by the wrapped router module).
As was previously alluded to, node-async-router is designed to enable async functions to be used within router's existing API, and then it gets out of the way.
At present, the following router APIs are extended to support async functions:
router[method](path, ...[middleware], handler)
The API surface is well tested, but please do report any issues, however!
Error handling behaves the same as in the router module, with
the exception that if an async function is used and it resolves to a rejection (error), then that
error is automatically passed on to
var app =router = ;router;router;app;app;