Knex: async/await์™€ ํ•จ๊ป˜ knex๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2016๋…„ 12์›” 10์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: knex/knex

Knex์— Promise ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋น„๋™๊ธฐ/๋Œ€๊ธฐ์™€ ํ•จ๊ป˜ Knex๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ฝ”๋“œ๋Š” ์•„๋ž˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

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 }

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ knex์™€ ๊ด€๋ จ์ด ์—†์ง€๋งŒ async/wait ๋ฐ promise์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ํ์‡„...

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‹น์‹ ์€ ์•„๋งˆ ํฌ์žฅํ•ด์•ผ

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

async ํ•จ์ˆ˜์— ๋„ฃ๊ณ  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/wait ๋ฐ promise์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ํ์‡„...

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰