当您第一次加载时,它会正确显示。之后,每次更新都会获得2个页面浏览量,而不是1个。
const Koa = require('koa');
const session = require('koa-session');
const app = new Koa();
app.keys = ['Shh, its a secret!'];
app.use(session(app));
app.use(async function(ctx) {
let n = ctx.session.views || 0;
ctx.session.views = ++n;
console.log(`times= ${n}`);
if (n === 1) {
ctx.body = 'Welcome here for the first time!';
} else {
ctx.body = `You visited this page ${n} times!`;
}
});
app.listen(3000);发布于 2017-06-29 14:20:16
实际上,我现在就测试过了,它看起来工作正常。您必须考虑的是,当在浏览器中键入URL时,一些浏览器已经尝试预加载内容。这也发生在这里。
然后我试着确保它能像预期的那样工作:我关闭了node/koa应用程序,然后在浏览器中清除了那一端的会话(Developertools - Storage - Sessions),再次启动node/koa应用程序,然后在客户端多次点击reload。在这里,在服务器端,我得到了正确的输出:
times= 1
times= 2
times= 3
times= 4
times= 5在客户端,输出也是正确的。
https://stackoverflow.com/questions/44802889
复制相似问题