在 pg-promise 中返回

2024-01-08

我使用所有查询创建了一个单独的文件pg-promise节点模块。虽然对于大多数人来说我只是使用req, res在查询之后,我想返回一个值。这是行不通的。它返回undefined.

passportLogin: (email)=> {
        db.one(`SELECT userid 
                FROM user`)
            .then( result => {
                return result;
            })
            .catch( error => {
                return error;
            });
    }

该代码同时存在两个问题:

  • 无效的承诺使用,当在里面时.catch you do return result,这不是处理 Promise 拒绝的方式,您必须提供错误处理,或者重新抛出/重新拒绝错误。
  • 无效使用pg-承诺 https://github.com/vitaly-t/pg-promise图书馆。你用方法one http://vitaly-t.github.io/pg-promise/Database.html#one当返回 1 条记录以外的任何内容时,应该拒绝,根据方法的文档 http://vitaly-t.github.io/pg-promise/Database.html#one,同时你说I need to catch if it returns more than one row... ,这是一个逻辑矛盾。

结果如下:你的查询执行成功,并返回多条记录,这又使得方法one http://vitaly-t.github.io/pg-promise/Database.html#one拒绝,然后你将拒绝原因转变为已解决的原因return result。总而言之,你的代码到处都被破坏了。

首先,与pg-承诺 https://github.com/vitaly-t/pg-promise您应该根据您期望返回的记录数使用正确的方法,请参阅基础 https://github.com/vitaly-t/pg-promise/wiki/Learn-by-Example#basics.

然后处理.then/.catch根据您的业务逻辑。我在这里无法更具体,因为你没有提供更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 pg-promise 中返回 的相关文章

  • Postgres LEFT JOIN 与 WHERE 条件

    我需要使用 where 条件左连接两个表 Table time table id rid start date end date 1 2 2017 07 01 00 00 00 2018 11 01 00 00 00 2 5 2017 01
  • 什么是 NPM?为什么需要它? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 以前 我用记事本制作了一些网站 所以我们必须创建一个文件夹 TREE 并在其中放入一个 htm 文件 以及一些文件夹 其中包含 Jav
  • 在 Node.js 中一次迭代 50 个项目的数组

    我是 node js 的新手 目前正在尝试编写数组迭代代码 我有一个包含 1 000 个项目的数组 由于服务器负载问题 我想一次迭代 50 个项目的块 我目前使用 forEach 循环 如下所示 我希望将其转换为上述块迭代 result i
  • nodejs:process.stdout.write 的短别名

    我正在学习nodejs 而且我喜欢它 我试图弄清楚如何使用更短的别名console log我发现我可以使用var cout console log并使用cout string 从那时起 然后当我想使用process stdout write
  • model.save() 返回无效输出

    我正在使用本文中的 Node js mongodb 和express 对 REST Api 进行简单测试 MERN 第一部分 使用 Node js 和 Express 构建 RESTful API https medium com week
  • Express 4.x 在 2 分钟后关闭连接

    我有一个简单的节点应用程序来处理GET foo 此请求需要一些时间来计算并返回文件 每次请求持续超过2分钟 连接就会关闭 我正在使用 Express 4 10 2 和节点 0 10 32 我读到 http 模块的默认超时为 2 分钟 htt
  • 事务出错后回滚

    对于熟悉 Postgresql 的人来说 这应该很简单 我的应用程序发出一个begin work 进行一些操作 然后发出commit 操作和提交被包装在一个 try catch 块中 该块的 catch 语句执行rollback 假设 如果
  • 在 MySQL 连接字符串中指定密码

    我使用 MySQL 作为 DB 和 Yeoman 生成器创建了 ExpressJS MVC 应用程序 并在config js我想更改 MySQL 连接字符串 但我不知道在字符串中指定密码 我的字符串是mysql root localhost
  • 使用 unnest() 返回行?

    我尝试在完成后返回一组行UPDATE 像这样的东西 UPDATE Notis new noti SET notis noti record type FROM SELECT FROM Notis WHERE user id 2 FOR UP
  • 无法在 Windows 10 上安装 Postgresql

    我第一次尝试在我的 Windows 10 计算机上安装 postgreSQL 安装结束时出现两个错误 1 集群初始化期间发生非致命错误 请检查 C users abc AppData Local Temp 中的安装日志了解详细信息 2 运行
  • 在 MongoDB 中删除时自动删除引用对象

    假设我有一个这样的架构 var Person new Schema name String var Assignment new Schema name String person ObjectID 如果我删除一个人 仍然可能会留下引用不存
  • Webrtc 重新协商,Firefox 到 Chrome,反之亦然,不更新流

    我已经成功建立对等连接 但我无法在 Chrome Firefox 上进行正确的重新协商 我已按照重新协商的步骤 将相机 视频更改为屏幕共享时 更新流 曲目 添加 删除 Changer 这击中了需要谈判 改变者 创建报价 更改者 设置本地描述
  • 使用 Mongoose 将数组(“标签”)保存到 MongoDB

    我正在玩 Mongoose 但在保存到数组时遇到问题 例如 我在页面上有一个以逗号分隔的输入字段tags 我从 req body tags 中获取这些内容 删除空格 然后用逗号分隔它们以获得标签数组 现在 如何将该数组保存回我的数据库 我猜
  • TweetNaCl.js 最小公钥签名示例

    我试图了解如何基于位于的演示来实现一个最小的基本公钥签名示例here https tweetnacl js org sign 使用纯javascript 我的研究还没有产生一个简单的 javascript 示例 我可以用它来理解其内部工作原
  • Node.js req.body 在表单数据内容类型中未定义

    在这里 我为这个表单数据传递 API 创建了一个小演示 现在我正在使用邮递员检查此 API 但我没有收到任何数据 Code const http require http const express require express cons
  • 为什么等待对于节点请求模块不起作用?

    我是nodejs新手 我在前 1 中没有看到响应 但在前 2 中看到 为什么 Await 在其他地方使用 babel 对我有用 Ex 1 let res await request url console log res console l
  • 头部带有脚本的 Nodejs EJS 部分

    我正在使用 EJS 从 Nodejs 服务器渲染和服务器 HTML 页面 我包含的一些部分在头部引用了脚本和样式表 但这会导致客户端对同一文件发出多个请求 例如 如果父视图也包含该文件 例如
  • 2 同一个表的同一列上的 PostgreSQL 索引 - 冗余吗?

    我有一个带有 2 个索引的 PostgreSQL 表 其中一项指数涵盖website id and tweet idcolumns 是唯一的 B 树索引 第二个索引仅涵盖website id列 并且是非唯一索引 如果第一个索引存在 第二个索
  • 使用 puppeteer 部署 firebase 功能时说即使我启用了 --no-sandbox 也找不到 chrome

    我正在尝试将 firebase 函数部署到使用 puppeteer 的 firebase 项目 我让它在本地计算机上运行 但是当它尝试在 firebase 上运行时 我收到此错误 Exception from a finished func
  • 了解节点插件 API (N-API) HandleScope

    我很难理解如何正确使用手柄范围 https github com nodejs node addon api blob master doc handle scope md and EscapeHandleScope https githu

随机推荐