Skip to content

Instantly share code, notes, and snippets.

@spencerbeggs
Created March 10, 2017 22:43
Show Gist options
  • Save spencerbeggs/44fa23921b940b5cbd5512d022988332 to your computer and use it in GitHub Desktop.
Save spencerbeggs/44fa23921b940b5cbd5512d022988332 to your computer and use it in GitHub Desktop.
Load Files in JS
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