2023-05-25[TIL]

jenna·2023년 6월 7일
0

TIL/WIL

목록 보기
29/60

const sum = function(a. b) {
return a + b;
};

const sum = (a, b) => {
return a + b;
};

const sum = (a, b) => a + b;

Promise

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.catch

: 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);
})
profile
https://github.com/jennaaaaaaaaa

0개의 댓글