【发布时间】:2013-06-29 18:28:15
【问题描述】:
我想在控制台的两行显示数据。我只想每次都更新这两行。
到目前为止我所做的是-
var _logInline = function(alpha, bravo) {
process.stdout.cursorTo(0, 0);
process.stdout.clearLine();
process.stdout.cursorTo(0);
process.stdout.write(alpha.toString());
process.stdout.write('\n');
process.stdout.clearLine();
process.stdout.cursorTo(0);
process.stdout.write(bravo.toString());
process.stdout.write('\n');
};
var delay = 1000;
var time = 0;
setInterval(function() {
time++;
_logInline('alpha-' + time, 'bravo-' + time * time);
}, delay);
这个解决方案的一个明显问题是光标移动到了窗口的顶部。我不希望那样,而是应该在光标所在的位置显示内容。可能我需要首先在我的逻辑中获取当前光标位置。有没有办法做到这一点?
替代和最首选的解决方案是获得一个可以做同样事情的库
编辑: 我在 stackoverflow 上看到了一些问题,这些问题提供了无需换行即可进行日志记录的选项,但这并不是我想要的。我想要多个无换行记录。
【问题讨论】:
-
您可以使用 bash 获取光标位置 (see this gist),但在 windows 中不起作用。我找到的最简单的解决方案:pastebin.com/y69by2QE(但使用
cursorTo(0, 0))。
标签: javascript node.js console