ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

 

์ผ๋ฐ˜์ ์ธ ๋น„๋™๊ธฐ ํ•จ์ˆ˜ ์ฒ˜๋ฆฌ์—์„œ API ์š”์ฒญ์„ ํ•˜๋ฉด await๊ฐ€ ์žˆ๋˜ ์—†๋˜ ๋ชจ๋‘ ์š”์ฒญ์œผ๋กœ ๋ฐ›์•„๋“ค์—ฌ์ง„๋‹ค.

await๊ฐ€ ์—†๋Š” ๋น„๋™๊ธฐ ํ•จ์ˆ˜ ์š”์ฒญ ๋กœ์ง์„ ์ฝ˜์†”์— ์ฐ์œผ๋ฉด Promise{<pending>} ์œผ๋กœ ๋‚˜์˜ค๋ฉฐ

๊ฐ์ฒด ๋‚ด๋ถ€์—๋Š” 'fulfilled'๋กœ ๋ฐ์ดํ„ฐ ํŽ˜์นญ์ด ์ง„ํ–‰๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ˜น์‹œ ๋ชฐ๋ผ ๋ฐ์ดํ„ฐ ๋งํฌ ๋ถ€๋ถ„์— ์˜คํƒ€๋ฅผ ๋‚ด์–ด ์ผ๋ถ€๋Ÿฌ ์˜ค๋ฅ˜๋ฅผ ๋‚ด์—ˆ๋”๋‹ˆ ์ฝ˜์†”์— ์˜ค๋ฅ˜๊ฐ€ ์ฐํžˆ๋ฉฐ ์ž˜ ์‹คํ–‰๋˜์—ˆ๋‹ค.

 

let query = supabase.from(HOTPLACE).select('*');
 if (area) query.eq('area', area);
  console.log('query', query);

  const getHotplaces = async () => {
    // let query = await supabase.from(HOTPLACE).select('*');
    const { data, error } = await query;
    if (error) {
      throw new Error(error.message);
    }
    return data;
  };

async - await๋ฅผ ์ ์šฉํ•œ query์˜ ๊ฐ’์€ ์ฝ˜์†”์— ์ž˜ ์ฐํžŒ๋‹ค.

ํ•˜์ง€๋งŒ ์œ„์˜ ๋กœ์ง์ฒ˜๋Ÿผ supabase์— API ์š”์ฒญ์„ await ์—†์ด ๋ณด๋ƒˆ์„ ๋•Œ์—๋Š” Promise๊ฐ€ ์•„๋‹Œ ์š”์ฒญ ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ์ฝ˜์†”์— ์ฐํ˜”๋‹ค.

์™œ ๊ทธ๋Ÿด๊นŒ?

supabase์—์„œ๋Š” await ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ฒŒ ๋˜๋ฉด ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์„ ๋ง‰๊ฒŒ ๋˜์–ด์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

Supabase์˜ API ๋ฉ”์„œ๋“œ(.select(), .insert(), .update() ๋“ฑ)๋Š” ๋น„๋™๊ธฐ ํ•จ์ˆ˜์ด๋‹ค.
์ฆ‰, ๋ฐ์ดํ„ฐ๋ฅผ ์ฆ‰์‹œ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๊ณ  ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚œ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— await ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์€ query๋ฅผ ์ฝ˜์†”์— ์ฐ์œผ๋ฉด

Promise๋Š” ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ Promise ๊ฐ์ฒด(์š”์ฒญ ์ž์ฒด)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

async - await๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด promise๋ฅผ ๋ฒ—๊ฒจ๋‚ด์–ด ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ