2017-09-06 1 views
0

Nehmen Sie das folgende Snippet:writeSync() schreibt nur an die Konsole, wenn console.log vorhanden ist (node.js)

try { 
     fs = require('fs'); 
     fs.writeSync(0, 'Trying now...'); 
     fs.writeSync(0, 'worked!\r'); 
    } 
catch(error){} 

Wie ist, wird es nicht auf der Konsole jedoch

try { 
    fs = require('fs'); 
    fs.writeSync(0, 'Trying now...'); 
    fs.writeSync(0, 'worked!\r'); 
    console.log(); 
} 
catch(error){} 

Ausgabe "Probieren Sie jetzt ... funktioniert!" zur Konsole. Was genau geht hier vor?

+0

Können Sie versuchen, '\ r' durch' \ n' zu ersetzen? – Bergi

+0

Ich habe es einfach versucht und es hat funktioniert. War nicht klar, dass Carriage Returns für Unix nichts bedeutete – user3246167

Antwort

2

Sie schreiben an die Deskriptordatei sind aber nicht Spülen Sie es. Das Schreiben eines Zeilenumbruchs (\n anstelle von \r) führt dazu, dass stdout seinen Puffer löscht, sowie einen console.log() Aufruf, der es zwingt.

0

Gerade realisierte, dass es war, weil ich \ r statt \ n

Verwandte Themen