NodeJS Chrome开发者工具打开时的双重请求

xdnvmnnf  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(103)

我有个奇怪的问题我有一个非常简单的node/expressjs应用程序(我有一个复杂得多的应用程序,但这个简单的例子说明了问题)。此应用程序有三个路由,如下所示:

var i = 0;

app.route('/login')
.get(function(req, res){
    console.log('login', ++i);

    res.send('login');
})

app.route('/test')
.get(function(req, res){
    console.log('test', ++i);

    res.send('test');
})

app.route('/')
.get(function(req, res){
    console.log('index', ++i);

    res.send('index');
})

很简单任何时候请求其中一个路由,i都会递增并记录,它工作正常,除非chrome dev tools窗格打开。当开发工具打开时,请求login或test将触发两个请求。下面是日志的结果:

15:45:30 web.1  | index 1
15:45:33 web.1  | login 2
15:45:34 web.1  | login 3
15:45:37 web.1  | test 4
15:45:37 web.1  | test 5
15:45:41 web.1  | login 6
15:45:42 web.1  | login 7
15:45:45 web.1  | test 8
15:45:45 web.1  | test 9
15:45:48 web.1  | index 10

这是怎么回事。这是Chrome的bug吗?

mum43rcc

mum43rcc1#

这是chrome的一个半已知问题。
Google在这里有一个讨论,讨论了可能的解决方案-我还没有找到一个真实的的解决方案,但这应该给予你一个良好的开端。
https://code.google.com/p/chromium/issues/detail?id=64810

相关问题