setTimeout(() => {
console.log("타임아웃1");
}, 0);
Promise.resolve().then(() => console.log("프로미스1"));
setTimeout(() => {
console.log("타임아웃2");
}, 0);
Promise.resolve().then(() => console.log("프로미스2"));
// 프로미스1프로미스2
// 타임아웃1타임아웃2
-> 프로미스 처리가 셋타임 보다 앞선다.
let promise = new
Promise((resolve, reject) =>
{
if (Math.random() < 0.5) {
return reject("실패")
}
resolve(10)
})
promise
.then(data => {
console.log("성공: ", data)
})
.catch(e => {
console.log("실패: ", e)
})
.finally(() => {
console.log("promise 종료")
})
Promise
.then(data => {
return fetchUser(data)
})
.then(user => {
console.log('User : ', user)
})
.catch(e => {
console.log("실패:", e)
})
Promise
.resolve(10)
.then(console.log)
Promise
.reject("Error")
.catch(console.log)
Promise.all([
promise1,
promise2,
promise3
])
.then(values => {
console.log("모두 성공: ", values)
})
.catch(e => {
console.log("하나라도 실패: ", e)
})