私はこのコードを持っています
async function addFiles(dir,tree) {
return (await readDir(dir))
.map(async (name) => {await readDir(dir); return name;})
}
しかし残念ながら、mapのasync関数が待機されていないため、一連のpromiseが返されます。上記のコードでマップされた関数を待機する方法があるかどうか疑問に思っています。
試す
async function addFiles(dir,tree) {
const files = await readDir(dir)
await Promise.all(files.map(async (name) => {await readDir(dir); return name;})
}
Bluebirdを使用している場合は、 Promise.map を使用して、より簡潔で短い構文を使用できます。
async function addFiles(dir, tree) {
const files = await readDir(dir);
return Promise.map(files, async (name) => { await readDir(dir); return name; });
}