首页 > 解决方案 > 如何在 1 个函数中使用 promise.all 进行 2 个查询?

问题描述

我试图在这个函数中使用 Promise.all 但我还没有使用过所以我不知道该怎么做。

async adminCreateGroup(req, res) {
try {
  const {groupCode, groupName} = req.body;
  const members= req.body.members;

  const createGroup= await db.sequelize.query(CALL gojp.AdminCreateGroup('${groupCode}', '{groupName}');,
                {mapToModel: true,type: db.sequelize.QueryTypes.SELECT});

  const { customerGroupCode } = createGroup[0]['0'];

  for(let i = 0; i < customerCodeList.length; i++)
  {
  const createMemberOfGroup = await db.sequelize.query(
    `CALL gojp.createCustomerNGroup('${customerGroupCode}','${members[i]['id']}');`,
               {mapToModel: true, type: db.sequelize.QueryTypes.SELECT} );
  };
  return...
}catch(err){
  return ...;
}

当我尝试使用上面的代码时,如果第二个查询终止,第一个查询仍然运行。

现在,我想使用Promise.all来确保如果 2 个查询之一失败,所有函数adminCreateGroup将停止并抛出错误。

请帮我。谢谢

标签: javascriptnode.jspromise

解决方案


推荐阅读