function a() { return new Promise(resolve => { setTimeout(() => { console.log('A') resolve() }, 1000) }) } function b() { return new Promise(resolve => { setTimeout(() => { console.log('B') resolve() }, 1000) }) } function c() { return new Promise(resolve => { setTimeout(() => { console.log('C') resolve() }, 1000) }) } function d() { return new Promise(resolve => { setTimeout(() => { console.log('D') resolve() }, 1000) }) } function test() { a().then(() => { b().then(() => { c().then(() => { d().then(() => { console.log('callback hell') }) }) }) }) } test(); |
//promise를 반환하므로 function test() { a().then(() => { return b() }).then(() => { return c() }).then(() => { return d() }).then(() => { console.log('fin') }) } test(); |
'basic > Vanilla.js' 카테고리의 다른 글
스크롤 현재 위치 구하기 (스크롤 이동) (0) | 2021.10.14 |
---|---|
변수 || && (0) | 2021.07.21 |
promise (0) | 2021.05.31 |
객체에서 키이름에 대괄호 쓰는 이유 (0) | 2021.05.26 |
function* yield (0) | 2021.05.25 |