猿问

怎么理解async当中有多个await

下面代码会报错,因为 await 用在普通函数之中了。但是,如果将 forEach 方法的参数改成 async 函数,也有问题。但是为什么呢?帮忙看下

    async function dbFuc(db) {

      let docs = [{}, {}, {}];

    

      // 可能得到错误结果

      docs.forEach(async function (doc) {

        await db.post(doc);

      });

    }

    

    下面写法就正确,又是为什么呢

    

    async function dbFuc(db) {

      let docs = [{}, {}, {}];

    

      for (let doc of docs) {

        await db.post(doc);

      }

    }


慕盖茨4494581
浏览 323回答 1
1回答

慕沐林林

forEach相当于是并发处理。这里你所说的错误结果,例如顺序不一致?
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答