Javascript Promise 공부 시작

이동환·2023년 4월 16일

javascript

목록 보기
3/5
post-thumbnail

ES6의 Promise에 대해 공부해봤다.

Promise는 객체다. 그런데 어떤 객체냐하면 비동기 처리를 쉽게 할 수 있도록 돕는다.
좀 더 구체적으로 설명하면 비동기 처리를 동기화시키는 것을 쉽게 하게 해준다.

Promise가 나온 이유는 콜백 지옥 문제를 해결하기 위해서다.

콜백 지옥이란 콜백 함수를 통해 비동기 처리 후의 흐름에서 다른 비동기 처리가 나왔을 때

{
	{
    
	}
}

위와 같이 중괄호가 중첩되면서 코드가 깊어지고 가독성이 떨어지는 현상이 발생하는데 이런 문제를 극복하기 위해 Promise가 탄생했다.

Promise 객체 사용해서 연속된 비동기 작업을 처리할 때

const promise = new Promise((resolve, reject) => {
	if (비동기 동작 잘 처리 됨) {
    	resolve()
    }
})
promise
	.then(function // <- Promise를 return 하는 함수)
    .then(function // <- Promise를 return 하는 함수)
    .then()

.then()을 연속적으로 사용하는 것을 통해 코드가 깊어지지 않고 아래로 쭉 내려가게 만들어서 가독성을 높일 수 있다.

프론트에서 자주 사용되는 fetch() 함수도 Promise 객체를 반환하면서 비동기 처리를 구현한다.

fetch('url', {옵션}).then(res => res.json()).then(data => {
	// data를 이용해서 통신 후 작업 구현
})
profile
개발을 즐기고 싶다.

0개의 댓글