@shijunhao/tyler-element
Version:
仿elementUI的学习项目,提供一些基础组件
35 lines (33 loc) • 816 B
JavaScript
// 导入脚本
// import script for encrypted computing
self.importScripts('/spark-md5.min.js')
// 生成文件 hash
// create file hash
self.onmessage = e => {
const { fileChunkList } = e.data
const spark = new self.SparkMD5.ArrayBuffer()
let percentage = 0
let count = 0
const loadNext = index => {
const reader = new FileReader()
reader.readAsArrayBuffer(fileChunkList[index])
reader.onload = e => {
count++
spark.append(e.target.result)
if (count === fileChunkList.length) {
self.postMessage({
percentage: 100,
hash: spark.end()
})
self.close()
} else {
percentage += 100 / fileChunkList.length
self.postMessage({
percentage
})
loadNext(count)
}
}
}
loadNext(0)
}