async如何使用?

我并没有再reduce的第一个参数中 return 任何值
为什么 _ 变量为什么会等于 Promise { undefined } ?

async function fn() {
  let docs = [1, 2, 3, 4]
  let a = await docs.reduce(async (_, e) => {
    await _;
    console.log(_) 
    await new Promise((resolve, reject) => {
      setTimeout(() => {
        console.log(e); 
        resolve();
      }, 1000)
    })

  }, undefined);

}
fn()
已解决 悬赏分:30 - 解决时间 2021-12-02 17:01
反对 0举报 0 收藏 0

回答1

最佳
  • @

    没有return等同于return undefined;而async 函数 返回的是一个promise,所以_变量就是Promise<undefined>

    支持 0 反对 0 举报
    2021-12-02 12:15