๊ฐœ๋ฐœ/๐Ÿ“ TIL

[220711] javascript - sleep() ์ง€์—ฐ ํ•จ์ˆ˜ ์“ฐ๊ธฐ!

๋ฐ(Ming) ๐Ÿˆโ€โฌ› 2022. 7. 11. 23:03
728x90
๋ฐ˜์‘ํ˜•

๋ฆฌ์•กํŠธ๋ฅผ ์“ฐ๋‹ค ๋ณด๋ฉด ์ปดํฌ๋„ŒํŠธ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ์ผ์ด ๋งŽ๋‹ค. ์ด๋•Œ ๋ฐ›์•„์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ณด๋‹ค ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์ด ๋จผ์ €  ์ฒ˜๋ฆฌ๋  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๋ถ„๋ช…ํžˆ ์ฒ˜์Œ์—” ํ™”๋ฉด์— ์ž˜ ๋‚˜์˜ค๋Š”๋ฐ ์ƒˆ๋กœ๊ณ ์นจ๋งŒ ํ•˜๋ฉด ํ™”๋ฉด์— ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ์•ˆ ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€.

๋ถ„๋ช…ํžˆ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ๋ง์ด๋‹ค. 

 

์ด๋Ÿด ๋•Œ, code์˜ ์‹คํ–‰์„ ์‚ด์ง ์ง€์—ฐ์‹œ์ผœ์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค! ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ๋ฐ›์•„์„œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ๊ณผ ํ™”๋ฉด์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ ๋‘ ๊ฐ€์ง€์˜ ์‹คํ–‰์ด ์‹ฑํฌ๊ฐ€ ๋งž์ง€ ์•Š์•„์„œ ์ด๋Ÿฐ ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์ด๋‹ค. ๐Ÿ˜

 

sleepํ•จ์ˆ˜๋Š” ์ž…๋ ฅํ•œ ์‹œ๊ฐ„๋งŒํผ code์˜ ์‹คํ–‰์„ ๋ฉˆ์ถฐ์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์—๋Š” ๋”ฐ๋กœ sleep ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ํ•„์š”ํ•˜๋‹ค๋ฉด delay ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ๋‹ค. delay๋ชจ๋“ˆ๋„ ์•ˆ๋œ๋‹ค? ๊ทธ๋Ÿฌ๋ฉด setTimeout์„ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค .

 

const sleep = () => new Promise((resolve) => setTimeout(resolve, delay));

useEffect(() =>{
  sleep(1000);
  console.log('hello')
  
},[])

 

1000 ๋งŒํผ, 1์ดˆ๊ฐ„์˜ sleep ์ดํ›„์— 'hello'๊ฐ€ ์ถœ๋ ฅ์ด ๋œ๋‹ต๋‹ˆ๋‹ค!!! 

 

 

 

 

โœ… ํ•˜์ง€๋งŒ sleep ํ•จ์ˆ˜๋ฅผ ์จ์„œ ์–ต์ง€๋กœ ์ฝ”๋“œ์˜ ์‹คํ–‰์„ ๋ถ™์žก์•„๋‘๋Š” ๊ฑด ์‚ฌ๊ณ ๊ฐ€ ๋‚  ํ™•๋ฅ ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ๋‹ค. ์„œ๋ฒ„์— ๋ฌด๋ฆฌ๊ฐ€ ์•ˆ ๊ฐ€๋Š” ์„ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ api ํ†ต์‹ ์œผ๋กœ ๋‹ค์‹œ ๋ฐ›์•„์˜ค๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์•ˆ์ •์ ์ด๋‹ค! ๐Ÿ˜…

 

 

 

 

 

 

 

 

 

 

728x90
๋Œ“๊ธ€์ˆ˜0