【发布时间】:2023-12-23 19:52:01
【问题描述】:
我正在尝试理解 process.stdin。
例如 - 我需要在控制台中显示数组元素。我应该允许用户选择要显示的元素。
我有代码:
var arr = ['elem1','elem2','elem3','elem4','elem5'],
lastIndx = arr.length-1;
showArrElem();
function showArrElem () {
console.log('press number from 0 to ' + lastIndx +', or "q" to quit');
process.stdin.on('readable', function (key) {
var key = process.stdin.read();
if (!process.stdin.isRaw) {
process.stdin.setRawMode( true );
} else {
var i = String(key);
if (i == 'q') {
process.exit(0);
} else {
console.log('you press ' +i); // null
console.log('e: ' +arr[i]);
showArrElem();
};
};
});
};
为什么我第二次输入数字时“i”为空?如何正确使用“process.stdin.on”?
【问题讨论】: