用户反应时间测量

时间:2015-08-13 15:36:28

标签: node.js

我正在编写一个小型控制台程序,用于在控制台中写入BLINK后测量用户的反应时间(用户只需按Enter键)。操作必须重复10次,我想将结果存储在一个数组中。 作为node.js的新手,我无法让我的程序在输入读数上循环10次。

我想这是来自readline.close的一些问题,但我没有找到任何明确的解决方案。

我的代码:

var readline = require('readline');

var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

var count = 10;
var arr = [];

for(var i = 0 ; i < count ; i++){
    var start = Date.now();
    rl.question("*** BLINK ***", function(answer) {
        var end = Date.now();
        arr.push(end-start);
        rl.close();
    });
}

1 个答案:

答案 0 :(得分:1)

以下是您可以做的一个示例,您可能希望根据自己的需要对其进行修改。

var readline = require('readline');

var count = 10;
var arr = [];
var start = Date.now();

function displayMsg(count){
  var rl = readline.createInterface({
      input: process.stdin,
      output: process.stdout
  });
  rl.question("*** BLINK ***", function(answer) {
        var end = Date.now();
        arr.push(end-start);
        rl.close();

        if (count > 0) {
          displayMsg(count - 1)
        } else {
          console.log(arr)
        }
    });
}

displayMsg(count)