_upper.log
로그인
_upper.log
로그인
Node.js 섹션1 알아두어야 할 자바스크립트
_upper
·
2023년 10월 16일
팔로우
0
[개정3판] Node.js 교과서- 기본부터 프로젝트 실습까지
목록 보기
3/8
화살표 함수
add1, add2, add3, add4는 같은 기능을 하는 함수
add2: add1을 화살표 함수로 나타낼 수 있음
add3: 함수의 본문이 return만 있는 경우 return 생략
add4: return이 생략된 함수의 본문을 소괄호로 감싸줄 수 있음
not1과 no2도 같은 기능을 함(매개변수 하나일 때 괄호 생략)
화살표 함수가 기존 function() {}을 대체하는 건 아님(this가 달라짐)
logFriends 메서드의 this 값에 주목
forEach의 function의 this와 logFriends의 this는 다름
that이라는 중간 변수를 이용해서 logFriends의 this를 전달
forEach의 인자로 화살표 함수가 들어간 간 것에 주목
forEach의 화살표함수의 this와 logFriends의 this가 같아짐
화살표 함수는 자신을 포함하는 함수의 this를 물려받음
물려받고 싶지 않을 때: function() {}을 사용
promise, async/await
콜백 헬이라고 불리는 지저분한 자바스크립트 코드의 해결책
프로미스: 내용의 실행은 되었지만 결과를 아직 반환하지 않은 객체
Then을 붙이면 결과를 반환함
실행이 완료되지 않았으면 완료된 후에 Then 내부함수가 실행됨
Resolvef(성공리턴값) -> then으로 연결
Reject(실패리턴값) -> catch로 연결
Finally 부분은 무조거 실행됨
콜백 패턴(3중첩)을 프로미스로 바꾸는 예제
findOne, save 메서드가 프로미스를 지원한다고 가정
Promise.resolve(성공리턴값): 바로 resolve하는 프로미스
Promise.reject(실패리턴값): 바로 reject하는 프로미스
Promise.all(배열): 여러 개의 프로미스를 동시에 실행
하나라도 실패하면 catch로 감
allSettled로 실패한 것만 추려낼 수 있음
async/await
이전 챕터의 프로미스 패턴 코드
Async/await으로 한 번 더 축약 가능
async function의 도입
변수 = await 프로미스인 경우 프로미스가 resolve된 값이 변수에 저장
변수 await 값인 경우 그 값이 변수에 저장
화살표 함수도 async/await 가능
Async 함수는 항상 promise를 반환(return)
Then이나 await을 붙일 수 있음
for await of
노드 10부터 지원
for await(변수 of 프로미스 배열)
resolve된 프로미스가 변수에 담겨 나옴
await을 사용하기 때문에 async 함수 안에서 해야함
_upper
팔로우
이전 포스트
Node.js 섹션2 노드 기본 기능 익히기(1)
다음 포스트
Node.js 섹션3 http 모듈로 서버 만들기
0개의 댓글
댓글 작성