Koa2会话页面视图每次更新计数2次

时间:2017-06-28 12:46:08

标签: koa2

第一次加载时,它会正确显示。之后,每次更新都会获得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);

1 个答案:

答案 0 :(得分:0)

实际上,我现在正在测试它,它似乎正常工作。您需要考虑的是,在浏览器中输入您的URL时,某些浏览器已经尝试预加载内容。这也发生在这里。

然后我试图确定它按预期工作:我关闭了node / koa应用程序,然后在浏览器中清除了该端的会话(Developertools - Storage - Sessions),再次启动node / koa应用程序然后在客户端点击重载几次。在这里,在服务器端,我输出正确的输出:

times= 1
times= 2
times= 3
times= 4
times= 5

在客户端,输出也是正确的。