【问题标题】:How to query multi SQL asynchrously?如何异步查询多条SQL?
【发布时间】: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

这种方式正确吗?

【问题讨论】:

    标签: javascript mysql node.js nestjs typeorm


    【解决方案1】:

    这种方式对我来说似乎是正确的。这是因为您首先调用了两个 query 函数,这两个函数返回承诺,然后等待。

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

    您可以使用Promise.all 并行调用多个 Promise。这确保了您所追求的结果。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多