NodeJS Koa每个请求被执行两次?

tnkciper  于 2023-06-29  发布在  Node.js
关注(0)|答案(1)|浏览(213)

为什么每次请求都会执行Koa两次

const Koa = require('koa')
const app = new Koa()

const index = async(ctx, next) => {
  console.log('Hello world!')
  await next()
  ctx.body = 'Hello world!'
}

app.use(index);

app.listen(3000)

在我的终端上,我得到:

Hello world!
Hello world!

有什么想法吗

34gzjxbg

34gzjxbg1#

可能发生这种情况的原因有两个:

第一是-正如在评论中已经提到的,浏览器也会触发对favicon.ico的请求第二:一些浏览器做了一个预取,所以在你按回车键之前,他们在输入时预取了网址。

const Koa = require('koa')
const app = new Koa()

const index = async(ctx, next) => {
  console.log('URL --> ' + ctx.request.url); // This logs out the requested route
  console.log('Hello world!')
  await next()
  ctx.body = 'Hello world!'
}

app.use(index);

app.listen(3000)

我在代码中添加了一行代码,以便您可以看到浏览器请求的路由。这可能有助于确定问题的原因。

相关问题