基于Express JS GET / POST事件的计时器

时间:2016-11-11 03:06:02

标签: node.js express settimeout ejs

我完全迷失了这个。我有一个简单的应用程序,向用户提出6个问题。每个问题和可用答案都显示在特定问题路线的动态生成视图中。我想设置一个如下工作时间:当问题1显示时,用户有5分钟回答所有6个问题。一旦问题6的POST发生,计时器就会清除。

GET / POST代码的基础如下(使用ejs模型):

app.get('/survey/:question_number?', restrict, routes.survey);
app.post('/survey/:question_number', function(req, res) {
  //question code
}

这是出口路线代码:

exports.survey = function(req, res) {
  //Question logic to pass to the render
  res.render('question', {
    info : info
  });
}

对于html,它只是使用传递的“info”生成问题和答案,然后使用标准表单method = post将选择的答案发送回app.post。

任何人都可以推荐一种不太复杂的好方法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您应该使用会话来执行此任务。在请求第一个问题后,您设置一个会话变量,该变量将指示必须回答所有问题的时间。之后,您只需将此变量值与请求的当前时间进行比较。我想这是解决你的任务最简单的方法之一。