从品牌网站建设到网络营销策划,从策略到执行的一站式服务
1. 场景导入
当我们对大量文件进行批量处理的时候(例如:上传/下载、保存、编译等),常常希望知道当前进展如何,或者失败(成功)的任务有多少;当我们的代码或程序已经发布,用户在执行安装的过程中,一个合适的(终端/命令行)进度条可以准确反映安装的步骤和进程,提升程序的可用性,一定程度缓解用户在等待中的烦恼……
2. 基本原理
首先,在终端打印出文本是件比较容易的事情。那么使用简单的文本和符号,就够自己拼凑出命令行的效果(下面例子):
文件已上传: 43.60% █████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 150/344
当然,进度条的效果可以根据需要自己设计啦,我这里只是给大家一个参考。
这里,我将打印命令行的方法构造成一个工具模块progress-bar.js
,具体实现如下 :-)
// 这里用到一个很实用的 npm 模块,用以在同一行打印文本 var slog = require('single-line-log').stdout; // 封装的 ProgressBar 工具 function ProgressBar(description, bar_length){ // 两个基本参数(属性) this.description = description || 'Progress'; // 命令行开头的文字信息 this.length = bar_length || 25; // 进度条的长度(单位:字符),默认设为 25 // 刷新进度条图案、文字的方法 this.render = function (opts){ var percent = (opts.completed / opts.total).toFixed(4); // 计算进度(子任务的 完成数 除以 总数) var cell_num = Math.floor(percent * this.length); // 计算需要多少个 █ 符号来拼凑图案 // 拼接黑色条 var cell = ''; for (var i=0;i另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:nodejs终端打印进度条实例代码-创新互联
网页路径:http://cdkjz.cn/article/cegsjj.html
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图