javascript - 如何异步查询多条SQL?

标签 javascript mysql node.js nestjs typeorm

我正在使用 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

这种方式正确吗?

最佳答案

这种方式对我来说似乎是正确的。这是因为您首先调用了两个 query 函数,它返回了 promises,然后是 after awaited for。

第一个脚本的顺序是“调用查询函数”->“等待解析”->“调用另一个查询函数”->“等待解析”。

您可以使用 Promise.all 并行调用多个 Promise。这确保了您努力争取的结果。

const [r1, r2] = Promise.all([this.connection.query(sqlA), this.connection.query(sqlB)])

关于javascript - 如何异步查询多条SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59550148/

相关文章:

MySql 插入语句到二进制数据类型?

node.js - Electron 应用程序利用GraphQL和MongoDB

javascript - 如何阻止Google的地理编码警报状态消息?

javascript - span 标签内的 jquery 倒计时而不是直接打印

mysql - 从 MySQL 查询数据到 Oracle

javascript - 我的 Express 服务器无法识别中间件功能

c# - node.js 的 .net native 扩展

javascript - 将元素大小调整为不是内容的字符串

javascript - 从客户端向服务器发送伪造的 socket.io 请求(node.js/socket.io)

php - 无法从表中检索数据?