const promise = new Promise((resolve, reject) = >){
console.log("start");
resolve(1);
});
promise
.then((num) => {
console.log("success1");
})
.then((num) => {
console.log("success2");
throw new Error("error");
})
.then((num) => {
console.log("success3");
})
.catch((err) => {
console.log("error");
});
// Promise 객체 생성
const promise = new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
let num = 10;
if (num >= 9) {
/* 비동기 작업 성공 */
resolve(num);
} else {
/* 비동기 작업 실패 */
reject("this is an error");
}
}, 500);
});
promise
.then((num) => {
console.log("success1", num);
return 2; /* return 값이 다음 then 의 인자로 넘겨짐 */
})
.then((num) => {
console.log("success2", num);
});
finally() 는 Promise 가 resolve 되든 reject 되든 마지막에 해당 함수를 실행함
// Promise 객체 생성
const promise = new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
let num = 10;
if (num >= 9) {
/* 비동기 작업 성공 */
resolve(num);
} else {
/* 비동기 작업 실패 */
reject("this is an error");
}
}, 500);
});
promise
.then((num) => {
console.log("success1", num);
return 2; /* return 값이 다음 then 의 인자로 넘겨짐 */
})
.then((num) => {
console.log("success2", num);
})
.finally(() => {
console.log("finally");
});
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => resolve("100ms"), 100);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => resolve("500ms"), 500);
});
Promise.all([promise1, promise2]).then((data) => {
console.log(data);
});
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => resolve("100ms"), 100);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => resolve("500ms"), 500);
});
Promise.race([promise1, promise2]).then((data) => {
console.log(data);
});