Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 刷新终端(nodejs)中的数据_Javascript_Node.js_Express_Socket.io - Fatal编程技术网

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秒重新创建一个新表