비동기 함수들에 동기적인 순서를 부여할 때 유용한 async / await에 대해서 배웠다. 이 async 함수 또한 Promise를 반환하는데, 보니까 Promise가 유용하게 쓰일때와 다른 상황에서도 쓰이지만 연장선인것 같다. 각자 어떤 상황인지에 따라 유용하게 쓰인다고 한다. 보니까 Callback → Promise → async / await 이렇게 발전한 것 같다. HTTP 에 대해서 간략히 리마인드 하는 시간을 가졌고, REST API에 대한 정의를 다시 한번 공부했다. REST API의 정의가 항상 헷갈리는데(너무 추상적이다) 다시 한번 말해보자면 서버와 클라이언트가 통신하는데 있어서 지켜야할 좋은 방법을 명시한 것이다. Fetch API는 XMLHTTPRequest를 대체하는 HTTP 요청을 하는데 사용되는 비동기 API다. 똑같이 Promise를 반환하고.. HTTP 프로토콜을 사용하므로 관련된 여러가지 작업을 세팅해 줄 수 있다. Array.prototype.flatMap()은 이중 배열을 일차원 배열로 풀어준다.
마지막 실습문제 Posts 정보 조합하기 실습문제는 진짜 애바다..
어떤 상황에 Promise가 유용하고 어떤 상황에 async / await이 유용한지 궁금하다. 실습시간에 이 두개가 각각 유용한 상황이 어떤지 공부하고싶다. 그리고 fetch를 이용한 http 통신도 더 배우고싶다.
네트워크를 공부하고, 프로토콜을 공부하고, 자바스크립트 심화에서 비동기를 공부하는 등 이런것들이 한꺼번에 어울려져 조금씩 깨달아 가는 느낌이 들어 재밌다. 또, 자바스크립트 구조에 대해서 공부하고 나니까 어떤 메서드같은것을 봤을때 해당 식별자가 어떤 녀석인지(객체인지 등) 어느정도 예상이 가능하다. 이것이 OJ 튜브에서 말했던… 전반적인 구조 지식이 있으면 처음보는 것이라도 봤을때 뒤에 구조가, 연결고리가 어떻게 되어있는지 어느정도 파악이 되면서 내가 뭘 모르는지, 뭘 써야 하는지 자연스럽게 알게된다고 하는데, 무슨 소리인지 조금씩 깨닫는거 같다. 공부는 역시 병렬적으로 해야하나보다. 프로그래밍의 세계에서는 A를 배운다고 B는 까먹는게 아니라 동시에 성장하는거같다. 서로 영향이 다 있다.