我试图异步使用节点fs.read()从大文件中读取大块数据(100KB)并进行解析 我想对此进行迭代并读取完整的文件,而不会对其进行阻止 谁能建议我如何在下面的代码中使用promise,而不执行下一组代码,直到完成此过程 我可以使用async / await实现这一目标
var readChunkData = function( position=0){
fs.open(fileName, "r+", (err,fd) => {
if(err) throw err;
var bufferSize = MAX_BUFFER_SIZE;
fs.read(fd, Buffer.alloc(bufferSize), 0, bufferSize ,position, (err, bytesRead, buffer) => {
fs.close(fd, (err) => {
if(err) throw err;
})
//Some parsing logic usind data read
parseData(buffer)
position += MAX_BUFFER_SIZE
if( position < fileSize)
{
readChunkData(position)
}
else{
return;
}
})
})
}