return new Promise((resolve) => { const fileChunks = sliceFile2Chunk(file) const spark = new SparkMD5.ArrayBuffer() let hadReadChunksNum = 0 const readFile = (chunkIndex) => { const fileReader = new FileReader() fileReader.readAsArrayBuffer(fileChunks[chunkIndex]?.file) fileReader. = (e...