在节点中使用foreach和Promisse.all时出错

时间:2020-09-10 14:24:15

标签: node.js typescript

我坚持使用以下代码:

  await Promise.all(auxusers.forEach(async (element: any) => {

       const userPopulated: any = new Object();
        userPopulated.hours = await this.hoursRepository.find({ where: { userId : { like: element.id}}});
        userPopulated.generalinfo = element;
        usersArray.push(userPopulated);
      }
        
));
return usersArray

返回给我:Promise.all每个,错误:无法读取未定义的属性'Symbol(Symbol.iterator)'

有什么主意吗?我真的不知道还能尝试什么

谢谢。

最好

1 个答案:

答案 0 :(得分:0)

问题是foreach不返回数组。 我建议改用map

检查以下代码:

const users = [1,2,3,4,5];

Promise.all(
  users.map(async (element) => {
    const userPopulated = {};
    userPopulated.hours = Promise.resolve(element);
    userPopulated.generalinfo = element;
    return element;
  })
 ).then((a) => console.log(a))