How to read the content of files synchronously in Node.js? How to read the content of files synchronously in Node.js? javascript javascript

How to read the content of files synchronously in Node.js?


You need to use readFileSync, your method is still reading the files asynchronously, which can result in printing the contents out of order depending on when the callback happens for each read.

var fs = require('fs'),    files = fs.readdirSync(__dirname + '/files/');files.forEach(function(file) {  var contents = fs.readFileSync(__dirname + '/files/' + file, 'utf8');  console.log(contents);})


That's because you read the file asynchronously. Try:

#! /usr/bin/env nodevar fs = require('fs'),    files = fs.readdirSync(__dirname + '/files/'),files.forEach(function(file) {  var data = fs.readFileSync(__dirname + '/files/' + file, 'utf8');  console.log(data);});

NodeJS Documentation for 'fs.readFileSync()'


Have you seen readFileSync? I think that could be your new friend.