我正在编写一个小型控制台程序,用于在控制台中写入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();
});
}
答案 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)