等待的异步映射函数返回Promise而不是value

Zan*_*cox 12 javascript async-await babeljs arrow-functions

我有这个代码

async function addFiles(dir,tree) {
  return (await readDir(dir))
    .map(async (name) => {await readDir(dir); return name;})
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它只返回了一堆承诺,因为没有等待map中的异步函数.我想知道是否有任何方法可以等待上面代码中的映射函数.

小智 40

尝试

async function addFiles(dir,tree) {
  const files = await readDir(dir)
  await Promise.all(files.map(async (name) => {await readDir(dir); return name;})
}
Run Code Online (Sandbox Code Playgroud)