Knex: Wie verwende ich knex mit async/await?

Erstellt am 10. Dez. 2016  ·  3Kommentare  ·  Quelle: knex/knex

Ich versuche, Knex mit async/await zu verwenden, da Knex über eine Promise-Schnittstelle verfügt. Mein Code ist unten.

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

Ich hatte erwartet, die Zeilen meiner Abfrage zurückzubekommen, aber die Ausgabe ist

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

Hilfreichster Kommentar

Dies hat nichts mit Knex zu tun, sondern nur mit allgemeinen Dingen über async / await und Promises. Schließen...

Alle 3 Kommentare

Sie sollten wahrscheinlich wickeln

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

in die Funktion async einfügen und await vor getUsers();

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

Denken Sie auch an Try/Catch für die Fehlerbehandlung (Blubbern)

Hm das funktioniert

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

Dies hat nichts mit Knex zu tun, sondern nur mit allgemeinen Dingen über async / await und Promises. Schließen...

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen