I have this code
async function addFiles(dir,tree) {
return (await readDir(dir))
.map(async (name) => {await readDir(dir); return name;})
}
but unfortunately, it just returns a bunch of promises, because there the async function in map is not waited upon. I'm wondering if there is any way to await the mapped function in the above code.
try
async function addFiles(dir,tree) {
const files = await readDir(dir)
await Promise.all(files.map(async (name) => {await readDir(dir); return name;})
}
If you're using bluebird you can use this cleaner, shorter syntax with Promise.map
async function addFiles(dir, tree) {
const files = await readDir(dir);
return Promise.map(files, async (name) => { await readDir(dir); return name; });
}