合肥市微信小程序构建_JS+WCF完成进度条实时监测数据加载量的方法详解

  • 栏目:公司新闻 时间:2021-01-11 11:06 分享新闻到:
<返回列表

JS+WCF实现进度条实时监测数据加载量的方法详解     -李鑫超   这篇文章主要介绍了JS+WCF实现进度条实时监测数据加载量的方法,结合实例形式分析了大量数据导入过程中前台js与后台WCF交互实现实时显示加载进度的相关操作技巧,需要的朋友可以参考下

本文实例讲述了JS+WCF实现进度条实时监测数据加载量的方法。分享给大家供大家参考,具体如下:

背景

由于项目中需要导入大量数据到memcache中

需要用WCF调取11万条数据,由于那边多级联查和排序,所以比较慢(1分钟左右)

同时这边需要对数据进行处理,合并成2万条数据,然后存储,需要一定时间(也是1分钟左右)

总之,完成这个数据导入一共需要1分30秒左右

这时候,需要一个进度条来实时监测完成的数据量

(之前用的是一个动态图,不能知道程序目前的完成量,甚至不知道它是不是卡住了,只能等着)

功能

1.开辟线程,用于加载数据,处理数据
2.前台实时读取后台数据,并显示

代码

view-html

@* 数据准备进度条 *@
 div id="container" 
 div 
 h1 数据准备 /h1 
 /div 
 !-- Progress bar -- 
 div id="progress_bar" 
 div 
 span 完成量 b 3% /b /span 
 /div 
 /div 
 !-- /Progress bar -- 
 div id="main_content" 
 p 数据准备完成! /p 
 /div 
 /div 

view-js

$(function () {
 $('#initialization').click(function () {
 $.messager.confirm('提示', '是否要进行数据初始化?', function (r) {
 if (!r) {
 return;
 else {
 $('#container').show();
 var t1 = window.setInterval(process_bar, 1500);
function process_bar() {
 $.ajax({
 type: "POST",
 async: true,
 url: "/Paper/LoadData",
 success: function (result) {
 $('#progress_bar .ui-progress').animateProgress(result);
 if (result =="100") {
 $('#main_content').slideDown();
 $('#fork_me').fadeIn();
 setTimeout(function () { $('#container').hide();; }, 1500);
 window.clearInterval(t1);

controller

static bool flag = true;
public int LoadData()
 int result = Ipaperbll.LoadDataAmount();
 if (flag)
 Thread thread = new Thread(new ThreadStart(ThreadLoadData));
 thread.Start();
 flag = false;
 return result;
private void ThreadLoadData()
 Ipaperbll.initializeData();

后台

static int load_data_amount;//当前数据准备量
public bool initializeData()
 bool flag = false; //定义返回值
 //获得数据
 //code....code ....code....
 load_data_amount = 5;//完成工作量
 int page = 0;
 int amount = 50000;//一次获取数据量不能超过10万
 while (page * amount == list.Count)
 //code....code ....code....
 load_data_amount = load_data_amount + 5;
 load_data_amount = 50;//读取数据默认的工作量
 double totalamount = list.Count();
 foreach (var item in list)
 //code....code ....code....
 load_data_amount = Convert.ToInt32((1 - (totalamount--) / double.Parse(list.Count().ToString())) * 50) + 50;//根据数据改变的完成工作量
 load_data_amount = 100;//完成工作量
 flag = true;
 return flag;
//返回当前准备数据量
public int LoadDataAmount() {
 return load_data_amount;

问题 解决

1.进度条生成

解决:使用网上的demo,css+js可以动态生成,改变数据即可

2.线程问题

解决:开始是监测使用线程,后来改成处理数据使用线程

3.实时监测问题

解决:处理数据使用线程自动运行,前台使用ajax不断查询后台的一个变量load_data_amount

4.ajax报错问题

注意是返回值的类型,以及是result还是result.d,不同情况下是不一样的

5.数据类型问题

解决:读取数据完成的百分比,是用 完成量/所有量 得到的,这里的数一直算不对,是因为int类型承受不住11万的运算以及之后的小数,用double和float可以

小结

本来想着开个线程,加个变量,返回前台,加一个进度条,读取变量就OK了

但是中间的这个MVC,这个Spring,这个接口,之前的方法各种不好使,以及在它们下面的运算,ajax……一个一个分开解决,最后还是解决了

分而治之,逐个解决,测试就好

另外,框架和合作在带来便利的同时,中间的限制和bug也会让你的效率下降

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》

希望本文所述对大家JavaScript程序设计有所帮助。


分享新闻到:

更多阅读

合肥市微信小程序构建_JS+WCF完成进度条实

公司新闻 2021-01-11
JS+WCF完成进展条即时检测数据信息载入量的方式详细说明 -李鑫超 本文关键详细介绍了...
查看全文

广州凡科互联网科技股份有限公司招聘电

公司新闻 2021-01-11
招聘人数:2职位信息岗位职责:1、分析产品卖点和定位,对产品进行策略性的文案包装;2.、...
查看全文

微信小程序模板开发-谢岗企业网站建设

公司新闻 2021-01-11
为何挑选大家十五年潜心互连网,超出100人的技术性精英团队,服务超出20000好几家公司谢岗...
查看全文
返回全部新闻


区域站点: 南丰县免费建站网站   南宫市网站建设网址   囊谦县自助网站建设系统   南和县建设官方网站   南华县免费建站网站   南江县网站建设网址   南京市自助网站建设系统   南靖县建设官方网站   南康市免费建站网站   南乐县网站建设网址   南陵县自助网站建设系统   南宁市建设官方网站   南平市免费建站网站   南皮县网站建设网址   南市区自助网站建设系统   南通市建设官方网站   南投县免费建站网站   南雄市网站建设网址   南溪县自助网站建设系统   南阳市建设官方网站   南漳县免费建站网站   南召县网站建设网址   南郑县自助网站建设系统   那坡县建设官方网站   那曲县免费建站网站   纳雍县网站建设网址   讷河市自助网站建设系统   内黄县建设官方网站   内江市免费建站网站   内丘县网站建设网址   内乡县自助网站建设系统   嫩江市建设官方网站   聂荣县免费建站网站   尼玛县网站建设网址   尼木县自助网站建设系统   宁安市建设官方网站   宁波市免费建站网站   宁城县网站建设网址   宁德市自助网站建设系统   宁都县建设官方网站   宁国市免费建站网站   宁海县网站建设网址   宁化县自助网站建设系统   宁晋县建设官方网站   宁陵县免费建站网站   宁明县网站建设网址   宁南县自助网站建设系统   宁强县建设官方网站   宁陕县免费建站网站   宁武县网站建设网址   宁乡市自助网站建设系统   宁阳县建设官方网站   宁远县免费建站网站   农安县网站建设网址   磐安县自助网站建设系统   盘锦市建设官方网站   盘山县免费建站网站   磐石市网站建设网址   盘州市自助网站建设系统   蓬安县建设官方网站   澎湖县免费建站网站   蓬莱市网站建设网址   彭山县自助网站建设系统   蓬溪县建设官方网站   彭阳县免费建站网站   彭泽县网站建设网址   彭州市自助网站建设系统   偏关县建设官方网站   平安县免费建站网站   平昌县网站建设网址   平定县自助网站建设系统   屏东县建设官方网站   平度市免费建站网站   平果县网站建设网址   平和县自助网站建设系统   平湖市建设官方网站   平江县免费建站网站   平乐县网站建设网址   平凉市自助网站建设系统   平利县建设官方网站   平罗县免费建站网站   平陆县网站建设网址   屏南县自助网站建设系统   平泉市建设官方网站   屏山县免费建站网站   平顺县网站建设网址   平塘县自助网站建设系统   平潭县建设官方网站   平武县免费建站网站   萍乡市网站建设网址   平乡县自助网站建设系统   平阳县建设官方网站   平遥县免费建站网站   平阴县网站建设网址   平邑县自助网站建设系统   平远县建设官方网站   平舆县免费建站网站   皮山县网站建设网址   普安县自助网站建设系统   浦北县建设官方网站   浦城县免费建站网站   普洱市网站建设网址   普格县自助网站建设系统   浦江县建设官方网站   普兰县免费建站网站   普宁市网站建设网址   莆田市自助网站建设系统   迁安市建设官方网站   乾安县免费建站网站   潜江市网站建设网址   潜山市自助网站建设系统  

友情链接: 企业建站系统 我的家乡网页设计 html网页设计代码作 手机网页设计 手机版

Copyright © 2002-2020 自助网站建设系统_建设官方网站_免费建站网站_网站建设网址_创建公众号 版权所有 (网站地图) 备案号:粤ICP备10235580号