node.js中的“ process.stdout.write”和“ console.log”之间有什么区别?
编辑:使用console.log的变量显示了很多不可读的字符,而使用process.stdout.write的显示了一个对象。
这是为什么?
node.js中的“ process.stdout.write”和“ console.log”之间有什么区别?
编辑:使用console.log的变量显示了很多不可读的字符,而使用process.stdout.write的显示了一个对象。
这是为什么?
在此情况下,另一个重要区别是process.stdout.clearLine()
和process.stdout.cursorTo(0)
。
如果您只想在一行中显示下载或处理的百分比,这将很有用。如果使用clearLine(),cursorTo()console.log()
不能使用,因为它还会在文本后附加\ n。只需尝试以下示例:
var waitInterval = 500;
var totalTime = 5000;
var currentInterval = 0;
function showPercentage(percentage){
process.stdout.clearLine();
process.stdout.cursorTo(0);
console.log(`Processing ${percentage}%...` ); //replace this line with process.stdout.write(`Processing ${percentage}%...`);
}
var interval = setInterval(function(){
currentInterval += waitInterval;
showPercentage((currentInterval/totalTime) * 100);
}, waitInterval);
setTimeout(function(){
clearInterval(interval);
}, totalTime);
简单的区别是: console.log()方法自动添加换行符。这意味着如果我们遍历并打印结果,则每个结果都将以新行打印。
process.stdout.write()方法不会追加换行符。用于打印图案。