If you want to use async functions with Express, there’s a simple hack for that:
wrap your async function in this expressify utility function.
function expressify(fn) {
  return (req, res, next) => {
    fn(req, res, next).catch(next)
  }
}
Usage:
import { setTimeout } from 'timers/promises'
async function myAsyncHelloWord(req, res, next) {
  await setTimeout(1337);
  res.send('Hello World!')
}
app.get('/', expressify(myAsyncHelloWord))

