В качестве расширения / улучшения блестящего дополнения, сделанного @rodowi выше относительно возможности перезаписи строки:
process.stdout.write("Downloading " + data.length + " bytes\r");
Если вы не хотите, чтобы курсор терминала находился на первом символе, как я видел в своем коде, рассмотрите возможность сделать следующее:
let dots = ''
process.stdout.write(`Loading `)
let tmrID = setInterval(() => {
dots += '.'
process.stdout.write(`\rLoading ${dots}`)
}, 1000)
setTimeout(() => {
clearInterval(tmrID)
console.log(`\rLoaded in [3500 ms]`)
}, 3500)
Помещая \r
перед следующим оператором печати, курсор сбрасывается непосредственно перед тем, как замещающая строка перезаписывает предыдущую.