我想要隐藏密码输入框。我在stackoverflow上看到了很多答案,但如果我按退格键无法验证值,则条件返回false。
我尝试过几种覆盖函数的解决方案,但是如果我按退格键,我会遇到缓冲区问题,我会得到不可见字符\b
。
我按下: "A"、退格键、"B",我在我的缓冲区中得到了这个:"\\u0041\\u0008\\u0042"(toString() ='A\bB'),而不是"B"。
我有:
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question("password : ", function(password) {
console.log("Your password : " + password);
});
stdout.write
,而是无条件地调用它并抑制任何错误。不幸的是,传递回调会使其停止工作,并需要使用超时为0来进行静音(这样看起来像是竞争条件)。 - MarnesEnter
键:*if (!this.muted || ['\n', '\r\n'].includes(chunk.toString())) ...
* - Mir-Ismaili