是否有任何原因导致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!
有任何想法吗?
最佳答案
发生这种情况的原因有两个:
第一ist-正如评论中已经提到的,浏览器还会触发对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)
我在代码中添加了一行,以便您可以查看浏览器要求的路由。这可能有助于确定问题的原因。
关于node.js - 每个请求两次执行Koa吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46014028/