下载错误的次数判断

要求做一个下载错误的判断,对应的接口会回调两个数值回来,两个数值相同则下载完成,对比百分百就是下载进度百分百,通过setTimeout()设置不断的查询接口回传数值进行对比来确认下载进度,但是也有可能下载进度不走了,因为没有断点续传功能,就需要判断去自动停止下载,那么就要判断进度的数值是否发生了改变。

当下载进度没有进行时,进度数值是不变的,通过判断这个数值来进行下载功能的停止,找了些方法,有把数组存入数组,对数组进行次数判断的,其他一些方法就不举出来了,数组的方法在文件量大的时候回产生比较大的内存消耗,对性能有一定的影响。因此开始采用的是给变量赋值的方式进行对比,后面发现不行,想了半天灵机一动,发现可以变量的不相等来进行判断,因此有了以下的方法,直接上例子吧。

//demo这个变量是下载接口回调回来的下载进度值
var demo2=0;//初始化变量
var demolen =0;//错误进度记录变量
if(demo !=demo2){//通过判断回传的进度不同值来赋予对应的值,如果进度不同则错误进度清为0,如果持续出现5次以上的错误则下载失败
        	demo2 =demo;//当回传的下载进度值和新定义的值不同时下载就是正常的,需要把正常的值赋给定义的demo2变量,错误进度记录变量变为0
        	timelen =0;
		}else{
            demolen++;//如果都不是,那么就记录一次
		}
		if(demolen ==5){//如果持续被记录了五次,那么说明在规定的回调次数内没有正常下载,那么判定下载失败就可以了
            alert("下载失败!");
            return;
		}
大概思路就是这样,比较简单,希望能帮助有对应需要的同学。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值