Javascript 刷新终端(nodejs)中的数据
我从事一个小项目,只是“简单”: 用户可以在终端上写入加密货币,如下所示:Javascript 刷新终端(nodejs)中的数据,javascript,node.js,express,socket.io,Javascript,Node.js,Express,Socket.io,我从事一个小项目,只是“简单”: 用户可以在终端上写入加密货币,如下所示: yarn start btc eth 我显示一个数组,其中包含一些数据(价格、变动24等),我使用: 模块:api: api: 我可以这样做,现在我想刷新这个数组X秒。。。但我不知道怎么做:/(我试过使用setInterval,这是个坏主意,哈哈哈),我的服务器只使用nodejs和express,但我想我必须使用socketIO no?来刷新您必须使用的终端(cli)中的数据。 我这样做已经有一段时间了,因此我为自
yarn start btc eth
我显示一个数组,其中包含一些数据(价格、变动24等),我使用:
- 模块:api:
- api:
我可以这样做,现在我想刷新这个数组X秒。。。但我不知道怎么做:/(我试过使用setInterval,这是个坏主意,哈哈哈),我的服务器只使用nodejs和express,但我想我必须使用socketIO no?来刷新您必须使用的终端(cli)中的数据。 我这样做已经有一段时间了,因此我为自己创建了一个小要点,以跟踪您可以使用它们做的所有事情: 下面是一个例子:
process.stdout.write('此行将被删除');
process.stdout.write('\u001b[2K'+'\u001b[1G');
//\u001b[2K=清除线
//\u001b[1G=将光标重置为行的开头
process.stdout.write('此行将替换上一行');
process.stdout.write('\n');
所以你可以在你的桌子上这样做。你要么知道你的桌子有多少行,然后把光标放在那项运动上,清除其余的部分,然后重新绘制桌子,要么每次都完全清除屏幕。我建议使用前者
您的用例可能是这样的:
let draw=0;
函数drawTable(){
draw++;
process.stdout.write(`your\n table\n data${draw}\n`);//打印3行
}
drawTable();//初始绘制
const myInterval=setInterval(()=>{
process.stdout.write('\u001b[3A\u001b[1G');
//向上移动三行并将光标重置到第一列
drawTable();//再次绘制
},1000);//每秒重新绘制一次表
这将增加输出并在绘图之间清除输出。不确定您在这里要求的是什么?是否可以在终端中显示内容并在一秒钟后刷新?是的。是的,我希望在同一个表中刷新显示数据,而不是每X秒重新创建一个新表