第一次加载时,它会正确显示。之后,每次更新都会获得2次页面查看次数,而不是一次。
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);
答案 0 :(得分:0)
实际上,我现在正在测试它,它似乎正常工作。您需要考虑的是,在浏览器中输入您的URL时,某些浏览器已经尝试预加载内容。这也发生在这里。
然后我试图确定它按预期工作:我关闭了node / koa应用程序,然后在浏览器中清除了该端的会话(Developertools - Storage - Sessions),再次启动node / koa应用程序然后在客户端点击重载几次。在这里,在服务器端,我输出正确的输出:
times= 1
times= 2
times= 3
times= 4
times= 5
在客户端,输出也是正确的。