promise(메모장)

김민지·2020년 9월 23일
0

자바스크립트는 동기적인 아이임

호이스팅은 var선언과 함수선언이
제일 위로 끌어올려지는거

promise는 자바스크립트에서 비동기를
간편하게 처리할수있게하는 오브젝트임

  1. 상태(state) -프로미스가 기능수행을 다해서 성공or실패인지
  2. producer, consumer의 차이에 대해 알기
    정보제공하는사람 제공된데이터 쓰는사람 두가지 차이점 알기

상태 : pending(프로미스가 우리가 지정한 기능을 수행중일때 팬딩 상태)

->이 기능(오퍼레이션)이 잘수행되면 fulfilled 상태가 됨 or 실패하면 reject됨
fulfilled면 resolve()실행 reject()면 reject()실행

producer(즉 프로미스오브젝트)vsconsumer

결국 비동기 함수를 만들어서 사용해야할 때 프로미스 객체를 리턴하게 만들어서 사용하면
콜백중첩을 방지할 수 있고
에러처리 수월하게 할수있다

프로미스 실행할때는 .then해서 실행
아니면 .catch

비동기 함수 중간에 에러가 난다면 promise.catch()
비동기 메서드가 프로미스 객체를 리턴하면서 계속해서 then.catch하는식
체이닝 가능

.catch는 비동기 메서드 중에 에러가 나면 캐치가 가능하게 함

프로미스 생성방법 new Promise((resolve, reject){...})로 생성
//프로미스 생성
const promise1 = function(param){
return new Promise(function(resolve,reject){
if(param){
resolve("바보");
}
else{
reject("아닌데");
}
});
}
//프로미스 실행
promise1(true).then(function(result){
console.log(result);//바보
},function(err){
console.log(err);//아닌데


profile
Welcome~!

0개의 댓글