Except for the obvious, async/await and the middleware signatures, koa's middleware app.use(async (ctx, next) => {...}) vs express app.use(function (req, res, next) {...})
How would koa's middleware make a difference ? Why would that be called onion model ?
------ update ------
My original question probably wasn't clearly enough. I was wondering why koa middleware is better than express middleware ?
------ update 2 ------
As Mastering Koa Middleware explained the error handling is indeed better in koa.