728x90

    손하트-[이모티콘]어밴드

    자바스크립트에서는 비동기 프로그래밍을 자연스럽게 습득하게 된다.

    이를 대표하는게 자바스크립트 Promise이다.

    Promise의 기본적인 구조는 아래와 같다.

    const promise = new Promise((resolve, reject) => {
    	// resolve, reject의 타입은 함수타입이다.
    });

    Promise는 resolve와 reject를 파라미터로 받아오는 함수로 

    resolve는 작업이 성공했을때, reject는 작업이 실패했을때 호출하는 함수이다.

    const promise = new Promise((resolve, reject) => {
    	
        reject(new Error("에러 메시지를 던집니다."));
    });
    
    const promise = new Promise((resolve, reject) => {
    	
        resolve("결과가 성공입니다.");
    });

    위와 같이 resolve와 reject에 결과 값이나 오류등을 전달할 수 있다.

    const promise = new Promise((resolve, reject) => {
    	
        resolve("결과가 성공입니다.");
    });
    
    promise.then(
    	result => {
    		console.log("result" , result);
    	}
    ).catch(
    	e => {
        	console.error(e)
        }
    )

    promise를 사용하게되면 기존의 callback 지옥 코드를 아래 처럼 깔끔하게 사용 할 수 있다.

    promise()
    .then(promise())
    .then(promise())
    .then(promise())
    .then(promise())
    .then(result =>{
    	console.log(result);
    })

     

    Posted by 천상나타