php+ajax实现带进度条的大数据排队导出思路以及源码

2019-09-14 07:09:49丽君

    //判断是否数组是否执行完毕
      if(typeof(tabletype)=='undefined'&&typeof(num)=='undefined'){
            return false;
      }

     //判断是否有上一个ajax请求是否完成
      if(ajaxmark==1){

            index = 1;
           //将ajax请求标记为未执行完成

    ajaxmark=2;

          //执行ajax请求,函数在后面给出
            retrun_var = excel_export_ajax(index, num, processnum, tabletype);
            //判断函数返回
            if(typeof(retrun_var)=='undefined'){           

      //将iii自增,执行下一个数组数据
                  iii++;

      //递归调用自己
                  excel_export2(num, processnum);
                  if(iii>100){
                        return false;
                  }

    //当ajax返回成功的时候,返回。
            }else if(retrun_var=='success'){
                  return false;
            }
            return false;
      }else{
            //setTimeout(excel_export2(num, processnum),3000);
            //setInterval(_excel_export2(num, processnum),3000);

    //每隔3秒检查是否ajax请求结束,这里settimeout 不能传递参数,只能通过_excel_export2这种形式
            setTimeout(_excel_export2(num, processnum),3000);
      }
}

function _excel_export2(num, processnum){
       return function(){
             excel_export2(num, processnum);