Ich versuche, synchron in Knotenparameter von der Konsole zu lesen, konnte ich folgendes tun:Puffer gefüllt mit Unicode Nullen
var load = function() {
const BUFFER_LENGTH = 1024;
const stdin = fs.openSync('/dev/stdin', 'rs');
const buffer = Buffer.alloc(BUFFER_LENGTH);
console.log('Provide parameter: ');
fs.readSync(stdin, buffer, 0, BUFFER_LENGTH);
fs.closeSync(stdin);
return buffer.toString().replace(/\n*/, '');
}
Es funktioniert, aber hier ist eine seltsame Sache:
var loadedValue = load();
console.log(loadedValue); // displays "a", if I typed "a", so the result is correct
console.log({loadedValue}); // displays {a: 'a\n\u0000\u0000....'}
Wenn ich den Wert in ein Objekt hole, werden die verbleibenden BUFFER-Bits in einer Zeichenfolge angezeigt. Warum das? Wie kann ich sie loswerden? Regexp auf eine Zeichenfolge vor dem Erstellen eines Objekts funktioniert nicht.