我有一个需求,读取csv文件。
该文件28800行,每行92列,大小约为15M。
我的代码如下:
let fileReader = new plus.io.FileReader();
const now = Date.now();
console.log(`--->读取文件${file.name}开始<---`);
fileReader.readAsDataURL(file, 'utf-8');
// fileReader.readAsText(file,'utf-8');
fileReader.onloadend = function(evt) {
console.log(`--->读取文件${file.name}结束,共耗时:${(Date.now()-now)/1000}秒。<---`);
let resultCsv = evt.target.result
如果我使用readAsDataURL方法,大约2秒;但如果我使用readAsText方法,大约40秒。
请问如何提高效率?
2 个回复
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
原生插件
h***@126.com (作者)
自问自答,该问题已解决。
readAsText效能太差,使用readAsDataURL,然后借助一些base64库,自己转成需要的文本。
时间从40秒减少到2秒。
至于原生插件,因为我没有安卓开发经验,看了半天,没弄明白。但我相信应该也可以解决。