어쩌다보니 오늘 비동기 Promise를 다시 공부하게 되었다.
전부 다 까먹어서 작성하는것도 꽤나 생소했다. 그치만 저번 달에 공부할때는 시간이 엄~청 걸렸던 기억이 나는데 오늘은 꽤나 줄어든 시간으로 공부를 했다.
내가 발전한건지 매번 '모르겠다 모르겠다' 하다가도 이럴때
'발전했구나'싶다.
Promise는 자바스크립트의 object이다.
- 프로미스인스턴스 쓰자마자 실행
(함수에 담긴 프로미스는 쓰자마자 실행 ❌ , 함수를 실행해야 실행된다)(->당연한건데 왜 헷갈린거지,,?🥲 쓰다보니까 바보된기분이다 그치만 미래의 나는 또 잊고 있을테니 적자..)const promise = new Promise((resolve,reject) => { console.log("리로드하자마자 바로 출력됩니다.") //실행은 resolve // 에러는 reject }) const getHen = () => new Promise((resolve, reject) => { setTimeout(() => resolve(`🐓`),1000) console.log("실행 버튼 눌러야 실행됨") }
에러는 .catch로 잡고
.finally는 성공,실패여부와 상관없이 코드가 진행된다.
Promise 체이닝에서 .then은 값을 바로 전달할 수 있고, 프로미스를 전달할 수 있다.
fetchNumber .then(num => num * 3) .then(num => { return new Promise((resolve, reject) => { setTimeout(() => resolve(num-1), 1000) }) })