首页 > 解决方案 > 制作数组到一个没有 Promise 的数组

问题描述

现在我有一个包含四个承诺的数组,如下所示:

fieldsForSave:  [ Promise { <pending> },
  Promise { <pending> },
  Promise { <pending> },
  Promise { <pending> } ]

现在我只能得到四个中的每一个

fieldsForSave.map(async (promise) => {
        let result = await promise;
        console.log(result);//for example result is { field: 5b1c4558337f87fa32aec69c, isRequired: true }
      });

我怎样才能得到这样的解析,我想用这个数组来更新猫鼬模式。

fieldsForSave:  [ { field: 5b1c4558337f87fa32aec69b, isRequired: true }
{ field: 5b1c4558337f87fa32aec69c, isRequired: true }
{ field: 5b1c4558337f87fa32aec69d, isRequired: true }
{ field: 5b1c4558337f87fa32aec69e, isRequired: true } ]

标签: node.jsasynchronouspromiseasync-await

解决方案


您可以使用Promise.all为了从多个承诺中获得一个承诺:

let results = await Promise.all(fieldsForSave);
console.log(results);

推荐阅读