Created
March 10, 2017 22:43
-
-
Save spencerbeggs/44fa23921b940b5cbd5512d022988332 to your computer and use it in GitHub Desktop.
Load Files in JS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var fs = require("fs"); | |
var path = require("path"); | |
function loadFile(filePath) { | |
return new Promise((resolve, reject) => { | |
console.log(filePath); | |
fs.readFile(filePath, { | |
encoding: "utf-8" | |
}, (err, data) => { | |
if (err) { | |
reject(err) | |
} | |
resolve(data); | |
}) | |
}).catch(err => console.log(err)); | |
} | |
function getFiles(folder) { | |
return new Promise((resolve, reject) => { | |
fs.readdir(path.resolve(__dirname, folder), (err, files) => { | |
if (err) { | |
reject(err); | |
} | |
let filePaths = files.map(filename => path.resolve(__dirname, folder, filename)); | |
resolve(filePaths); | |
}); | |
}).catch(err => console.log(err)); | |
} | |
async function readFiles(folder) { | |
try { | |
let filePaths = await getFiles(folder); | |
return Promise.all(filePaths.map(file => loadFile(file))); | |
} catch (err) { | |
console.log(err); | |
} | |
} | |
readFiles("./myfolder").then(data => { | |
console.log(data); | |
}).catch(err => console.log(err)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment