用户反应时间测量

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

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

我的代码:

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(); }); } 

这里有一个你可以做的例子,你可能想修改它来适应你的需求。

 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)