handleDownload() {
this.downloadLoading = true
const $data_daochu=[];
// 先请求全部数据 带搜索条件的
let _this=this;
var y=[];
let pageNum=1;
let hasNextPage=true;
// 生成器函数里面不能使用this this的指向不是顶层
function* gen(x) {
yield goodsList_b2(_this.filters.shangpingName, x,200,_this.filters.standardGoods,_this.filters.pingpaiName,_this.filters.shoumaizhuangtai).then((res)=>{
$data_daochu.push(...res.data.data.list);
hasNextPage=res.data.data.hasNextPage;
if(hasNextPage){
pageNum++;
gen(pageNum).next();
}else{
console.log('结束了');
//获取到最终 数据后 进行下载
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['商品编号','名称', '品牌', '规格', '价格','主单位数量','主单位','副单位数量','副单位']
const filterVal = ['code','name','brandName', 'spec', 'price', 'primaryUnitNum','primaryUnit','deputyUnitNum','deputyUnit']
const list =$data_daochu
//console.log(2);
const data =_this.formatJson(filterVal, list)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '商品列表',
autoWidth: true
})
_this.downloadLoading = false
})
}
console.log($data_daochu);
console.log(pageNum);
})
}
gen(1).next();
}
es6生成器函数的简单使用
最新推荐文章于 2022-09-26 17:40:27 发布