最近发现有一个界面需要很长时间才能响应。检查网络发现数据量比较大,导致一个请求需要将近3秒才能完成。所以我决定在后端对数据进行压缩,然后发送到前端进行解压。对了,我把发送数据的地方也改成了压缩数据。本文使用的插件有:pako.js、js-base64废话不多说,附上demo:demo使用cdn导入插件压缩解压方法//压缩zip=(data)=>{if(!data)returndata//判断数据是否需要转成JSONconstdataJson=typeofdata!='string'&&数据类型!=='数字'?JSON.stringify(data):data//使用Base64.encode处理字符编码,兼容中文conststr=Base64.encode(dataJson)letbinaryString=pako.gzip(str);让arr=Array.from(binaryString);让s="";arr.forEach((item,index)=>{s+=String.fromCharCode(item)})returnbtoa(s)}//unzipunzip=(b64Data)=>{letstrData=atob(b64Data);让charData=strData.split('').map(function(x){returnx.charCodeAt(0);});让binData=newUint8Array(charData);让data=pako.ungzip(binData);//↓对数据进行切片处理,防止内存溢出报错↓letstr='';缺点t块=8*1024让我;for(i=0;i
