Can you give an example of express koa middleware?

when learning express and koa middleware, I have always understood it according to the onion model. But in theory, they are different.

//express
var express = require("express");
var app = express();

app.use((req, res, next) => {
    setTimeout(() => {
        console.log("start1")
    })
    next();
    console.log("end1")
})
app.use((req, res, next) => {
    console.log("start2")
    next();
    console.log("end2");
})
app.use((req, res, next) => {
    console.log("start3");
    next();
    console.log("end3");
})

app.get("/", function (req, res) {
    console.log("before")
    res.send("Hello World!");
    console.log("after")
  });
  
app.listen(3000, function () {
    console.log("Example app listening on port 3000!");
});

koa version

const Koa = require("koa");
const app = new Koa();

app.use(async (ctx, next) => {

    await new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log("start1")
            resolve()
        })
    })
    await  next();
    console.log("end1")
})
app.use(async (ctx, next) => {
    console.log("start2")
    await  next();
    console.log("end2");
})
app.use(async (ctx, next) => {
    console.log("start3");
    await  next();
    console.log("end3");
})

app.use(ctx => {
    console.log("before");
    ctx.body = "Hello Koa";
    console.log("after");
  });
  
app.listen(3001)

the question now is, how can modify the above code to clearly tell the difference between express and koa middleware?

Menu