如何异步查询多条SQL?
Posted
技术标签:
【中文标题】如何异步查询多条SQL?【英文标题】:How to query multi SQL asynchrously? 【发布时间】:2020-04-20 08:09:23 【问题描述】:我正在用 nestjs 和 typeorm 构建 webapp,
我想知道下面的代码实际上是做什么的?
const r1 = await this.connection.query(sqlA)
const r2 = await this.connection query(sqlB)
是先查询sqlA,得到结果,再查询sqlB,得到结果是同步的吗?
我想异步查询多个 sql,
const _q1 = this.connection.query(sqlA)
const _q2 = this.connection.query(sqlB)
const r1 = await _q1
const r2 = await _q2
这种方式正确吗?
【问题讨论】:
【参考方案1】:这种方式对我来说似乎是正确的。这是因为您首先调用了两个 query
函数,这两个函数返回承诺,然后等待。
第一个脚本的顺序是“调用查询函数”->“等待解析”->“调用另一个查询函数”->“等待解析”。
您可以使用Promise.all
并行调用多个 Promise。这确保了您所追求的结果。
const [r1, r2] = Promise.all([this.connection.query(sqlA), this.connection.query(sqlB)])
【讨论】:
以上是关于如何异步查询多条SQL?的主要内容,如果未能解决你的问题,请参考以下文章