Чтение фрагментов данных файла в узле - PullRequest
0 голосов
/ 06 июля 2019

Я пытаюсь прочитать некоторые данные кусками (100 КБ) из большого файла с помощью узла fs.read () асинхронно и проанализировать его Я хочу повторить это и прочитать весь файл, не блокируя его Может кто-нибудь предложить мне, как использовать обещания в коде ниже, не выполняя следующий набор кода, пока этот процесс не будет сделан Могу ли я использовать 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;

            }

        })
    })
}
...