You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NodeJS和MySQL中对多查询及.map()内查询使用Async Await

功能实现代码
async function getMergedQueryData() {
  // 第一步:执行第一条查询,提取前5个ID
  const firstQueryRes = await firstQueryFunc()
  const targetIdList = firstQueryRes.slice(0, 5).map(item => item.id)

  // 第二步:遍历ID执行内部查询,组装结果数组
  const finalResult = await Promise.all(
    targetIdList.map(async (currentId) => {
      // 传入ID执行对应内部查询
      const innerData = await innerQueryFunc(currentId)
      // 按业务需求组装对应对象
      return {
        id: currentId,
        queryDetail: innerData
      }
    })
  )
  return finalResult
}

// 调用示例
// getMergedQueryData().then(res => console.log(res))
替换说明
  • 代码中firstQueryFunc是你业务场景里的第一条查询异步方法,替换为实际的接口请求/数据库查询方法即可
  • 代码中innerQueryFunc是接收ID参数的内部查询异步方法,替换为实际业务对应的查询逻辑即可
  • 如果你需要串行执行内部查询而非并行执行,不要使用Promise.all+map的组合,改用普通for循环配合await执行即可

内容的提问来源于stack exchange,提问作者Ankit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:45:04