본문 바로가기
TIL ( Today I Learned )

210202_TIL

by outwater 2021. 2. 3.

Start Think:
오늘은 학습할 때 조금 쉬운 느낌이 들었는데,
하핳 복습 한 번 하고 나니 새벽 3:30이다.

다음날 스케줄을 위해서 최대 4시 까지 진행하는 것으로 판단하여 서둘러 TIL을 작성해보도록 한다.

🎄오늘 한 일


✔️ 1.  Sprint를 통한 Promise와 async await 사용

  • fs 모듈을 통해 특정 파일을 읽는 작업(비동기)을 진행하고, 이를 Promise와 async await을 사용하여 순차적으로 여러작업이 진행될 수 있도록 해보았다.
    코드를 작성할 때는 쉽게 느껴졌는데, 막상 reference(정답)을 확인하고 나니 부족한 부분이 너무 많아서 아찔했다.
  • API를 통해 데이터를 받아오고 비동기 작업을 처리하는 과정을 part3 sprint에서 진행하였다.
    최신뉴스데이터와 현재날짜정보를 받아올 수 있는 url을 fetch() 함수를 통해 요청하고, 응답을 받아 최종적으로 해당 데이터들을 출력할 수 있도록 하였다.
    실제로도 참 많이 사용될 부분이기 때문에 굉장히 흥미로웠다. (쉽지는 않았다. ㅎ.ㅎ.ㅎㅎ.ㅎ.ㅎ)

✔️ 2. Sprint refactoring

  • sprint를 진행하고 나면 당시에는 이해가 되어도, 시간이 지나면 빠르게 휘발되는 느낌이 있어서,
    reference 코드 확인 후 모든 코드를 지우고, 다시 한 번 천천히 써보는 시간을 가졌다.

    학교시험을 볼 때도 이렇게 공부하는 방식을 선호하는데, 시간은 상당히 많이 요구되지만 그만큼 이해도 잘 되고 오래동안 기억되는 장점이 있다.

🎄기억할 것


 


✔️1. resolve( )를 통해 인자를 넘겼을 때 그것을 받아 사용하는 방법

  • 프로미스를 리턴하는 함수의 경우 then을 사용할 수 있는데, then에서 받는 인자는 프로미스 내에서 resolve( ) 로 지정해줄 수 있다.
✔️ 2. new Promise()를 통해 생성한 Promise 인스턴스에는 어떤 메소드가 존재하나요? 각각은 어떤 용도인가요?
  •  then : resolve 받을 경우 후속처리 catch : reject를 받을 경우 후속처리

✔️3. Promise.prototype.then 메소드는 무엇을 리턴하나요? Promise.prototype.catch 메소드는 무엇을 리턴하나요?

  • then 메소드는 Promise를 반환한다.

    catch 메소드는 Promise를 반환한다.

✔️4. Promise의 세가지 상태는 각각 무엇이며, 어떤 의미를 가지나요?

  • 대기, 이행, 거부

✔️5. await 키워드 다음에 등장하는 함수 실행은, 어떤 타입을 리턴할 경우에만 의미가 있나요? await 키워드를 사용할 경우, 어떤 값이 리턴되나요?

  • await 키워드 다음에 등장하는 함수는 프로미스를 리턴해야 한다.

✔️6. blocking과 non-blocking의 차이

  • blocking 상황의 사례( 앞사람의 커피가 나올 때 까지 계속 뒤에서 줄서고 있는 것) 즉 동기적상황 이라고 할 수 있다.)
    non-blocking상황은 여러작업이 동시에 일어나는 상황

    blocking: non-blicking !== 동기:비동기
    javascript와 node.js 에서는 똑같다고 볼 수 있지만, 다른 언어의 경우 아닌 사례가 있다!

✔️7. 순차처리과 병렬처리의 차이

  • promise chain 방식으로 구현을 한다면 1번 작업이 완료되고 .then을 통해 2번 작업이 순차적으로 진행된다. 
    한편 Promise.all( ) 을 통해 여러개의 비동기작업을 동시에 실행하는 방식을 사용한다.
    이를 고려하여 상황에 맞게 방식을 선택하는 것이 중요하다!


🎄

'TIL ( Today I Learned )' 카테고리의 다른 글

210204_TIL  (0) 2021.02.05
210203_TIL  (0) 2021.02.04
210201_TIL  (0) 2021.02.02
210127_TIL  (0) 2021.01.28
210126_TIL  (0) 2021.01.26

댓글