728x90

    점점-[이모티콘]어밴드

    앞의 글에서 Promise에 대해 간략히 알아보았다.

    위에처럼 비동기 Promise를 사용시 then 또는 catch를 통해

    반환 받을 수 있었다.

    이외에도 awit를 통해서도 똑같이 사용할 수 있다.

    // as-is
    promise()
    .then(result =>{
    	console.log(result);
    })
    
    
    // to Be
    
    
    let result = await promise();
    console.log(result);

    위의 코드는 같은 결과로 출력된다.

    또한 함수를 선언할 때 function 키워드 앞에 async를 붙여주면 해당 함수를 호출 했을 때

    함수내부에서 반환한 값을 이행하는 Promise를 반환한다.

    async function promise() {
    	
    		return "결과"
    }
    
    promise()
    	.then(result =>{
        	console.log("result", result);
    	}
    )

    에러처리는

    function prommiseStep2() {
    	return new Promise((resolve, reject) => {
        	return resolve("성공");
        });
    }
    
    async function promiseStep1() {
    	
    	try {
        	let result = await prommiseStep2();
            console.log(result);
        } catch (e) {
        	console.error(e);
        }
    }

    위에처럼 catch문으로 사용가능하다.

    Posted by 천상나타