Π― ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Knex Ρ async/await, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Knex Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Promise. ΠΠΎΠΉ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅.
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 }
Π²Π°ΠΌ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π²Π΅ΡΠ½ΡΡΡ
const res = getUsers();
console.log('KNEX', res);
Π² ΡΡΠ½ΠΊΡΠΈΡ async
ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ await ΠΏΠ΅ΡΠ΅Π΄ getUsers();
(async function() {
const res = await getUsers();
console.log('KNEX', res);
}())
ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎ try/catch Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ (Π²ΡΠΏΠ»ΡΠ²Π°Π½ΠΈΡ)
Π₯ΠΌ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
async function test(){
const res = await getUsers();
console.log('KNEX', res);
}
test();
ΠΡΠΎ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ knex, Π° ΠΏΡΠΎΡΡΠΎ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΎΠ± async/await ΠΈ ΠΏΡΠΎΠΌΠΈΡΠ°Ρ . ΠΠ°ΠΊΡΡΡΠΈΠ΅...
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ knex, Π° ΠΏΡΠΎΡΡΠΎ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΎΠ± async/await ΠΈ ΠΏΡΠΎΠΌΠΈΡΠ°Ρ . ΠΠ°ΠΊΡΡΡΠΈΠ΅...