Knex: ¿Cómo usar knex con async/await?

Creado en 10 dic. 2016  ·  3Comentarios  ·  Fuente: knex/knex

Estoy tratando de usar Knex con async/await ya que Knex tiene una interfaz Promise. Mi código está abajo.

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);

Esperaba recuperar las filas de mi consulta, pero el resultado es

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

Comentario más útil

Esto no está relacionado con knex, sino con cosas generales sobre async/await y promesas. Clausura...

Todos 3 comentarios

probablemente deberías envolver

const res = getUsers();
console.log('KNEX', res);

en la función async y ponga await antes de getUsers();

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

también piense en probar/atrapar para el manejo de errores (burbujeante)

mmm esto funciona

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

Esto no está relacionado con knex, sino con cosas generales sobre async/await y promesas. Clausura...

¿Fue útil esta página
0 / 5 - 0 calificaciones