const sum = function(a. b) {
return a + b;
};
const sum = (a, b) => {
return a + b;
};
const sum = (a, b) => a + b;
new Promise(executor)
//executor에는 함수만 올 수 있으며 인자로 resolve, reject가 주입됩니다.
new Promise((resolve, reject) => {})
예제)
const result = new Promise((resolve, reject) => {
setTimeout(() => resolve(), 1000);
})
// resolve가 호출 되기 전까지는 then 구문의 코드가 실행하지 않습니다
result.then(() => {
console.log("1초")
}
const result1 = Promise.resolve('result1 resolved');
const result2 = new Promise((resolve) => resolve('result2 resolved'));
result1.then((message) => {
console.log(message)
})
result2.then((message) => {
console.log(message)
})
>result1 resolved
>result2 resolved
//result1과 result2는 똑같은 코드
: promise 안에서 에러가 throw 되거나 reject되면 catch 메서드에 작성한 함수가 실행됩니다
const errorPromise = new Pormise((resolve, reject) => {
setTimeout(() => {
console.log('1')
reject('Error!'); //직접 reject를 실행하면 프로미스에서 에러가 발생한 것으로 간주
}, 1000);
})
errorPromise.then(() => {
console.log('2');
console.log('3');
}).catch((error) => {
console.log('에러', error);
})