Promise
동기
function a(){
document.write("a")
document.write("br")
}
function b(){
document.write("b")
}
a()
b()
//ab그대로 출력
비동기
function a(){
setTimeout(function(){
console.log("a")
}, 1000)
}
function a(){
setTimeout(function(){
console.log("a")
}, 1000)
}
a()
b()
//ba 출력
콜백 지옥
//콜백 지옥
function a(callback){
setTimeout(function(){
console.log('A');
},1000)
}
function a(callback){
setTimeout(function(){
console.log('A');
},1000)
}
function a(callback){
setTimeout(function(){
console.log('A');
},1000)
}
function a(callback){
setTimeout(function(){
console.log('A');
},1000)
}
a(function(){
b(function(){
c(function(){
d(function(){
})
})
})
})
Promise
//promise
function a(){
return new Promise ((resolve, reject) => {
setTimeout(() => {
console.log("A");
resolve();
}, 1000);
});
}
function b(){
return new Promise ((resolve, reject) => {
setTimeout(() => {
console.log("B");
resolve();
}, 1000);
});
}
function c(){
return new Promise ((resolve, reject) => {
setTimeout(() => {
console.log("C");
resolve();
}, 1000);
});
}
function d(){
return new Promise ((resolve, reject) => {
setTimeout(() => {
console.log("D");
resolve();
}, 1000);
});
}
a()
.then(()=>b())
.then(()=>c())
.then(()=>d())
Last updated
Was this helpful?