nodejs终端打印进度条示例代码
1.场景导入
当我们批量处理大量文件时(如上传/下载、保存、编译等)。),我们经常想知道当前的进度如何,或者有多少失败(成功)的任务。当我们的代码或程序已经发布时,一个合适的(终端/命令行)进度条可以准确反映安装的步骤和进度,提高程序的可用性,在一定程度上缓解用户等待的烦恼.
2.基本原则
首先,在终端打印出文字相对容易。那么使用简单的文本和符号就足以拼凑出命令行的效果(以下示例):
该文件已上传: 43.60% .
当然进度条的效果可以根据自己的需要来设计。我只是给你一个参考。
在这里,我将命令行打印为工具模块进度条. js,实现如下:-)
//这里使用了一个非常实用的npm模块来打印文本var slog=require('单行日志')。同一条线上的标准输出。//打包的ProgressBar工具函数progressbar (description,bar _ length){//两个基本参数(属性)这个。description=description | |“进度”;//命令行开头的文本消息是this.length=bar _ length | | 25//进度条的长度(单位:字符)默认设置为25。//刷新进度条的模式和文本的方法是这样的。render=function(opts){ var percent=(opts。已完成/选择。合计)。to fixed(4);//计算进度(除以子任务总数)varcell _ num=math。地板(百分比*这个。长度);//计算拼接图案需要多少符号//拼接黑条var cell=for(var I=0;icell _ numI){ cell='';}//拼接灰色条var empty=for(var I=0;ithis . length-cell _ num;i ) {空='';}//拼接最终文本var cmdtext=this。描述‘:’(100 *百分比)。to fixed(2)“%”单元格为空“opts”。已完成“/”选项。总计;//单行输出文本slog(cmdText);};}//模块导出module.exports=ProgressBar3.向上跑
基于上面的实现,让我们先来谈谈这个进度条. js的用法:
//引入工具模块var进度条=require('。/progress _ bar’);//初始化一个ProgressBar实例var pb=new ProgressBar('下载进度',50);//这只是pb的一个用法示例,没有任何函数:var num=0,total=200函数downling(){ if(num=total){//更新进度条pb.render ({completed:num,total 3360 total });数量;setTimeout(函数(){正在下载();},500)} }正在下载();运行上述代码,执行效果如下:
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:nodejs终端打印进度条示例代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。