javascript - 如何将 knex 与异步/等待一起使用?

标签 javascript mysql knex.js

我正在尝试将 Knex 与 async/await 结合使用,因为 Knex 具有 Promise 接口(interface)。我的代码如下。

const db = makeKnex({
  client: 'mysql',
  connection: {
    host: process.env.MYSQL_HOST,
    user: process.env.MYSQL_USER,
    password: process.env.MYSQL_PASSWORD,
    database: process.env.MYSQL_DATABASE,
  },
  pool: { min: 0, max: 100 },
});

async function getUsers() {
  return await db.select()
  .from('users')
  .limit(10);
}
const res = getUsers();
console.log('KNEX', res);

我希望得到查询的行,但输出是

KNEX Promise {
_c: [],
_a: undefined,
_s: 0,
_d: false,
_v: undefined,
_h: 0,
_n: false }

最佳答案

您应该在异步签名函数中调用 await。这是我使用的模式。

(async function(){
  const res = await getUsers();
  console.log('KNEX', res);
})()

关于javascript - 如何将 knex 与异步/等待一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41080543/

相关文章:

javascript - 如何将jenkins与mean stack应用程序集成

javascript - 如何将此 JSON 数据格式化为日期 (mm/dd/yyyy)

php - 拉维和 PHP : Return special formatted JSON

php - 在下拉列表中显示数据,并选择要编辑的选项

javascript - 调试未处理的 Promise 拒绝

javascript - 从客户端 Controller (MEAN.JS) 指定 Mongo 查询参数

javascript - Orchard 编辑器、图像选择器不起作用

mysql - 如何在mysql中连接整数(整数和整数)和varchar(nvarchar和varchar)等数据类型?

javascript - 使用 knex.js 从关联表中删除数据

javascript - 如何更改 knex 中的总和值