Knex: Como usar o knex com async/await?

Criado em 10 dez. 2016  ·  3Comentários  ·  Fonte: knex/knex

Estou tentando usar o Knex com async/await, pois o Knex possui uma interface Promise. Meu código está abaixo.

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

Eu esperava obter as linhas da minha consulta de volta, mas a saída é

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

Comentários muito úteis

Isso não está relacionado ao knex, mas apenas coisas gerais sobre async/await e promessas. Fechando...

Todos 3 comentários

você provavelmente deve embrulhar

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

na função async e coloque await antes de getUsers();

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

também pense em tentar/capturar para tratamento de erros (borbulhando)

Hum isso funciona

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

Isso não está relacionado ao knex, mas apenas coisas gerais sobre async/await e promessas. Fechando...

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

lanceschi picture lanceschi  ·  3Comentários

ghost picture ghost  ·  3Comentários

nklhrstv picture nklhrstv  ·  3Comentários

saurabhghewari picture saurabhghewari  ·  3Comentários

rarkins picture rarkins  ·  3Comentários