Why does routing fail when asynchronous middleware is used with routing
```
import Koa from "npm:koa@2.14.1"
import Router from "npm:koa-router@12.0.0"

const app = new Koa()
const router = new Router()

app.use((ctx, next) => {
  const start = Date.now()
  return next().then(() => {
    const ms = Date.now() - start
    console.log(`${ctx.method} ${ctx.url} - ${ms}ms`)
  })
})
// koa 的中间件示例
function delay(duration) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve()
    }, duration)
  })
}
// 中间件1
app.use(async function (_ctx, next) {
  console.log(1)
  await next()
  console.log(4)
})

// 中间件2
app.use(async function (_req, _res, _next) {
  console.log(2)
  await delay(1000)
  console.log(3)
})

router.get("/", (ctx, _next) => {
  console.log("home")
  ctx.body = "home"
})

app.use(router.routes()).use(router.allowedMethods())

app.listen(1993, () => {
  console.log("http://localhost:1993")
})
```

deno run -A mod.js
http://localhost:1993
1
2
3
4
GET / - 1053ms

The page responds with 404 Not Found

