Node.js 15 (10/05)

‍박태우·2023년 10월 6일
0

Promise

(위의 경우 promise 라는 변수에 결과를 들고 있다가 나중에 then 이나 catch 로 받을 수 있다.

resolve를 호출하면 then, reject를 호출하면 catch로 이동한다.)

  • 쓰는 이유

(3초후에 실행되는 함수이지만 callback 함수는 항상 저자리에 들어가서 실행되어야 한다.)

(예를들어 위와 같이 promise 하게 하면 나중에 쓰고 싶을때 분리 해서 실행 가능하다는 장점이 있다. )

=> node 함수들도 callback 에서 promise 로 바뀌는 추세이다.

(callback 을 쓰면 위와 같이 한번 쓸 때 마다 안으로 들어간다.
이것을 promise 를 쓰면 아래와 같이 간단하게 표현 할 수 있다.)

(위와 달리 칸이 일정하게 유지된다. 위 코드는 나중에 더 간단하게 만들 수 있다.)

(추가로 Promise.allSettled 로 실패 한것만 추려내기도 가능하다.)

Async / Await

(처음 사진은 줄이기전 이후 사진은 async/await으로 줄인 것이다.
await이 then 역할을 한다고 보자

let user 의 변수에 then 과 같은 결과를 저장한다고 보면된다. 실행방향은 오른쪽 에서 왼쪽

예전에는 async function 과 await을 함께 서야했지만 요즘을 아래와 같이 await 만 쓰는 경우도 가능은 하다.)

  • async 함수에 리턴형이 있는 경우

(위와 같은 두 방법으로 name 변수에 main 함수의 리턴 값을 저장 할 수 있다. await 또는 then 을 써야한다.

async 도 결국 promise 이기 때문 )

(또한 async 는 promise이기는 해도 resolve는 해도 reject는 하지 못하기 때문에 필요한 경우 위와 같이 catch 문을 따로 작성해 줘야한다.)

(await이 then 이기 때문에 for 를 이용해 반복문을 돌릴 수 있다.)

profile
잘 부탁드립니다.

0개의 댓글