Promise
1. 동기화
function a(){
console.log('A')
}
function b(){
console.log('B')
}
a();
b();
// A B
2. 동기화
function a(){
setTimeout(function(){
console.log('A')
}, 1000)
}
function b(){
console.log('B')
}
a();
b();
// B A
3. 콜백 지옥
function a(callback){
setTimeout(function(){
console.log('A')
callback();
}, 1000);
}
function b(){
setTimeout(function(){
console.log('B')
callback();
}, 1000);
}
function c(){
setTimeout(function(){
console.log('C')
callback();
}, 1000);
}
function d(){
setTimeout(function(){
console.log('D')
}, 1000);
}
a(function(){
b(function(){
c(function(){
d();
});
});
});
4. 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())
function a(){
return new Promise((resolve, reject)=>{
if(isError){
reject()
}
setTimeout(()=>{
console.log('A');
resolve();
}, 1000);
});
}
a().then()
.catch((error) => {
console.log(error);
})
// 데이터를 불러오면 reject, 실패하면 콘솔로그로 확인
Last updated
Was this helpful?