드림코딩 유튜브 시청
프로미스를 만드는 순간 executer함수가 바로 실행된다.
var promise = new promise(
(resolve,reject)=>{ // 첫번째 인자로 들어간 여기 함수가 바로 실햄됨 }
)
then,catch
var promise = new Promise(
(resolve,reject) => {
setTimeout(()=>{resolve('준석')},3000) // setTimeout함수가 비동기작업역할 => 비동기작업이 성공하면 resolve 호출
}
)
promise.then((dd)=>{console.log(dd)})
then메소드에선 두가지 인자를 전달해야 하는데 첫번째 인자는 콜백함수가 성공했을 때 호출되고, 두번째 인자는 실패했을 때 호출된다
하지만 두번째 인자를 사용하지 않고 catch를 사용한다.
왜냐면 catch가 똑같은 역할을 한다.