首页 > 解决方案 > 如何处理 ParameterizedQuery 的错误?

问题描述

ParameterizedQuery状态的文档:

可以直接使用任何查询方法使用类型代替查询参数。它从不抛出任何错误,让查询方法使用 ParameterizedQueryError 拒绝它。

这到底是什么意思?

例如,目前我的函数如下所示:

async foo() {
    const pq = new ParameterizedQuery({
      text: 'Select ..',
      values: [repoRequest.limit],
      rowMode: 'array'
    });

    return transaction.manyOrNone(pq);
}

它似乎工作正常(与文本查询参数相同) - 当查询错误时,它也会在执行时引发错误。

标签: pg-promise

解决方案


这是否意味着 ParameterizedQuery 的构造函数永远不会抛出错误,或者当我们执行查询时它永远不会抛出?

是的。参数化查询的错误以与库中所有查询相同的方式表现出来 - 通过承诺拒绝。

更新

我已经从 API 文档中删除了这句话,以避免混淆。


推荐阅读