功能:读取文件
问题:浏览器假死,不能进行其他操作
这时读取功能还是在运行,由于文件过大考虑加一个loading效果,告诉用户正在读取数据
在读取文件之前加loading,读取文件之后关闭loading,发现并没用效果
经过排查,将loading打开,不关闭,发现loading会在读取文件之后执行
解决方案
使用setTimeout将读取文件操作延迟
readTxt(f) {
const loading = this.$loading({
text: '拼命加载中' }) //全局loading
const rd = new FileReader()
rd.onload = e => {
setTimeout(() => {
//内部数据处理
loading.close()//数据处理完后关闭
}, 100)
}
},