Javascript 嵌套异步/等待函数

Javascript 嵌套异步/等待函数,javascript,async-await,babeljs,Javascript,Async Await,Babeljs,只需查看代码就更容易了: async function addFiles(dir,tree) { return (await readDir(dir)) .map(name => {await readDir(dir); return name;}) // error here } 此代码在第3行返回一个错误,表示在readDir附近有一个意外标记。我不明白为什么这不起作用。结果是,我忘了将我的arrow函数声明为async 修订后的守则 async function add

只需查看代码就更容易了:

async function addFiles(dir,tree) {
  return (await readDir(dir))
    .map(name => {await readDir(dir); return name;}) // error here
}

此代码在第3行返回一个错误,表示在
readDir
附近有一个意外标记。我不明白为什么这不起作用。

结果是,我忘了将我的arrow函数声明为async

修订后的守则

async function addFiles(dir,tree) {
  return (await readDir(dir))
    .map(async name => {await readDir(dir); return name;}) // error here
}

嘿,作为将来的参考,我很好奇你用这个实现的目的是什么?从“reading it”,看起来您给出了一个树结构并读取了它下面的目录?只是寻找上下文,作为将来的一个示例:-)当然…我会在完成所有bug后发布:)据我所知,这是使用
async/wait
进行
map
的次优方法。如果您
等待
a
Promise.all
,您将使用更多的并行处理。我制作了一个伪代码JSFIDLE,用我认为是您的用例来说明: