06. 자바스크립 (JavaScript) ES5 의 CallBack 과 ES6의 Promise
OS | Windows 10 Home 64bit 버전 1903 (OS 빌드 18362.836) |
프로그램명 | 버전 |

# 참고 사이트
[promise]02. promise 기본 문법
이번 글에서는 앞서 봤던 callback hell 구조를 promise 형태로 변경해보자. let sec = 0; setTimeout(() => { console.log(`callback hell : ${++sec} 초`) // 즉시 실행할 문장 setTimeout(() => { // 다음에 실..
goodteacher.tistory.com
# 설명
CallBack 은 비동기처리 후에 실행될 작업을 하기위해 사용한다.
# 예시
일반적인 순서 | 비동기 순서 |
![]() |
![]() |
두 번째 처럼 처리순서가 올바르지 않을 때 callback 을 이용하여 처리순서를 잡아준다.
# CallBack

위 처럼 callback 을 사용하여 순서를 올바르게 처리하였다
callback 의 문제점은 callback 을 여러번 사용해야하는 경우 코드가 복잡하고 길어져 가독성을 떨어뜨린다
그래서 ES6 부터 이를 보완하기위해 promise 를 도입되었다
# Promise
promise
let mnum = 0 let promiseFunction = function() { return new Promise(function(resolve, reject) { setTimeout(function() { console.log(`promise module: ${++mnum} 번째`) resolve(mnum) }, 2000) }) } promiseFunction() .then(promiseFunction) .then(promiseFunction)

async 와 await
[ES5]
let f = function() { return new Promise(resolve => { setTimeout(function() { console.log('비동기') resolve('파라미터') }, 1500) }) } let result = (async function() { console.log('async') let v1 = await f() console.log('await ' + v1) console.log('end') })()
[ES6]
let f = () => new Promise(resolve => { setTimeout(() => { console.log('비동기') resolve('파라미터') }, 1500) }) let result = (async () => { console.log('async') let v1 = await f() console.log('await ' + v1) console.log('end') }) ();

promise & async & await
let mnum = 0 let promiseFunction = function() { return new Promise(function(resolve, reject) { setTimeout(function() { console.log(`promise module: ${++mnum} 번째`) resolve(mnum) }, 1000) }) } let result = (async function() { await promiseFunction() await promiseFunction() await promiseFunction() await promiseFunction() await promiseFunction() await promiseFunction() })()

이 글은
(새창열림)
본 저작자 표시 규칙 하에 배포할 수 있습니다. 자세한 내용은 Creative Commons 라이선스를 확인하세요.
Creative Commons
본 저작자 표시
'06. Javascript > 기초' 카테고리의 다른 글
11. 자바스크립트 (JavaScript) - 2개이상의 obj 합치기 ( Object.assign ) (0) | 2021.06.09 |
---|---|
08. 자바스크립트 (JavaScript) - Console (0) | 2020.09.23 |
04. 자바스크립트(JavaScript) ES5, ES6 Array [미완성] (0) | 2020.07.27 |
03. 자바스크립트(JavaScript) ES6 기본 (0) | 2020.07.27 |
02. 자바스크립트(JavaScript) ES5 기본 (0) | 2020.07.27 |
댓글
이 글 공유하기
다른 글
-
11. 자바스크립트 (JavaScript) - 2개이상의 obj 합치기 ( Object.assign )
11. 자바스크립트 (JavaScript) - 2개이상의 obj 합치기 ( Object.assign )
2021.06.09 -
08. 자바스크립트 (JavaScript) - Console
08. 자바스크립트 (JavaScript) - Console
2020.09.23 -
04. 자바스크립트(JavaScript) ES5, ES6 Array [미완성]
04. 자바스크립트(JavaScript) ES5, ES6 Array [미완성]
2020.07.27 -
03. 자바스크립트(JavaScript) ES6 기본
03. 자바스크립트(JavaScript) ES6 기본
2020.07.27
댓글을 사용할 수 없습니다.