如何从 Prisma 等待异步函数中推送到外部数组

问题描述 投票:0回答:1

我正在尝试将一个数组推送到异步等待Prisma.io请求中的lodashforeach循环中称为buildings的外部数组。

const buildings = [];
const companies = await prisma.user.findMany({
  where: {
    maintainers: {
      some: {
        id: req.user.id,
      },
    },
  },
});

console.log(companies);

_.forEach(companies, async (c) => {
  const edifici = await prisma.building.findMany({
    where: {
      TU: {
        some: {
          TU: {
            id: c.id,
          },
        },
      },
    },
  });


  console.log(edifici);

  buildings.push(...edifici);
});

console.log(buildings);

第一次记录的结果

console.log(companies)
记录所需的公司。 第二个日志的结果
console.log(edifici)
在 for 循环中记录属于 che 公司的建筑物。

但是,当我尝试将 edifici 等待请求的结果推送到已在 foo 循环外部声明的 buildings 数组中时,日志确实返回一个空数组。

如何将await请求的结果推送到buildings数组中?

javascript node.js asynchronous async-await prisma
1个回答
0
投票

我找到了一种解决方法,可以通过 prisma 找出属于 UU 用户的所有建筑物:

const buildings = await prisma.building.findMany({
  where: {
    TU: {
      some: {
        TU: {
          maintainers: {
            some: {
              id: req.user.id,
            },
          },
        },
      },
    },
  },
});
© www.soinside.com 2019 - 2024. All rights reserved.