我正在使用Nodejs进行测试,以增加全局计数器,根据以下脚本。一切都正常工作,除了Chrome在刷新时执行两个连续的请求,这也导致计数器增加了两倍(请参见图像)。在Postman和Firefox中运行良好,只会在刷新时发生一个请求。我已经在Linux和Windows上运行应用程序进行了测试,并且Chrome的问题仍然存在。有人知道可能发生了什么吗?
server.js
const http = require('http');
const express = require('express');
const app = express();
const rotas = require("./route-test")(app);
const port = 3000;
const server = app.listen(process.env.PORT || port, function(){
console.log('App listening port: ', port);
});
route-test.js
const myGlobalVars = require("./global-vars");
module.exports = (app) => {
app.use('/', (req, res) => {
res.end('Counter in: ' + myGlobalVars.counter);
});
app.use(function(req, res, next){
//console.log(req.originalUrl);
});
}
global-vars.js
let myCounter = 0;
const _myVars = Object.create(Object.prototype, {
dateInit: {
writable: false,
configurable: false,
value: new Date()
},
counter: {
configurable: false,
get: function() { return myCounter++ },
set: function(_val) {
myCounter = _val;
}
}
});
module.exports = _myVars;