javascript์ ์ฝ์(๐)
์ฝ์์ ์ฝ๋ ์กฐ๊ฐ์์ ์ฑ๊ณต์ ์ธ ์ถ๋ ฅ์ ๋ฐ์๋์ง ์ฌ๋ถ๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Promise์๋ ๋ ๊ฐ์ ์ฝ๋ฐฑ์ด ์์ผ๋ฉฐ, ๋ ์ค ํ๋๋ ์์ ๋ ์ถ๋ ฅ์ ๋ฐ๋ผ ์คํ๋ฉ๋๋ค. resolve(value) & reject(error).
ํด๊ฒฐ์ ์ฑ๊ณต์ ์ธ ์คํ์ ์ํ ๊ฒ์ด๊ณ ๊ฑฐ๋ถ๋ ์์ ๋ ์ค๋ฅ๋ฅผ ์ํ ๊ฒ์ ๋๋ค.
const MyPromise=new Promise((resolve, reject)=>{
const rand=Math.floor(Math.random()*2);
console.log(rand)
if(rand===0)
resolve();
else
reject()
})
MyPromise
.then(()=>{console.log("success")})
.catch(()=>{console.log("Error")})
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ 1 ๋๋ 2๋ฅผ ๋ฐํํ๋ random number ์ฌ๋ก๋ก ์์ ํ๊ณ ์์ต๋๋ค.
.then
๋ ์ฑ๊ณต์ ์ธ ์๋ต์ ์ฒ๋ฆฌํ๊ณ .catch
๋ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ค์ state
๋ฐ result
๋ผ๋ ๋ด๋ถ Promise ์์ฑ์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.Only the first call to resolve/reject is taken and once the value for state and result is set it's final. More on promises by javascript.info
โญ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ฒ์์ด์ ๊ฐ์? https://boot.dev/tracks/computer-science์์ ํ๋ฅญํ ๊ณผ์ ์ ์๋ํด ๋ณด์ญ์์ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(javascript์ ์ฝ์(๐)), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/aishanipach/promises-in-javascript-4d6cํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค