림찌의 개발일기 💻

[TIL] 210927 본문

TIL

[TIL] 210927

림찌 🥰 2021. 9. 28. 02:27

✅ 무엇을 공부했는지

- async / await

- promise 의 apis

 

✅ 공부한 것에 대한 짧막한 요약

async, await 은 promise 를 좀더 간편하게 사용하도록 도와주는 syntactic sugar 이다. 

사용법은 함수 앞에 async를 붙이면 자동으로 그 블록안에 있는 코드들은 promise에 감싸지게 된다. await을 사용하면 몇 초뒤에 실행할건지 등의 제약(?) 을 걸수 있다. 이를 활용하면 프로미스 체이닝에 의한 콜백지옥을 빗겨나갈 수 있다. 

또한 서로 관계 없이 병렬적으로 실행되는 함수라면, 서로 기다려줄 필요가 없으니 프로미스를 미리 불러와서 실행시켜서 기다릴 필요 없이 동시 출력을 하는게 효율적이다. 

이러한 구조를 좀더 코드로 짧게 구현할 수 있는 프로미스 api가 존재하는데 all() 과 race()이다.

all()은 안에 배열 구조로 프로미스 함수를 넣게 되면, 배열 안에 있는 프로미스들이 전부 실행되어 값이 리턴되는걸 기다렸다가 한꺼번에 리턴한다.

race()는 똑같이 배열 구조로 프로미스를 넣게되면 가장 먼저 실행되는 값 하나만 리턴한다.

 

 

 

✅ 공부한 것에 대한 느낀점

- async, await 을 공부하며 syntactic sugar 라는 단어를 처음알았다. 그리고 얘네가 블록 안에 코드들을 프로미스로 자동으로 만들어준 다는 것도... 자세하게는 몰랐다. 이래서 async await을 썼구나 싶었다. 그리고 프로미스 api 를 이용하니 코드가 더 간결해지고 깔끔해지는걸 보니 자바스크립트 api 에 대해 진짜 많이 알고 공부해야겠구나 하고 다시 한번 생각했다.

'TIL' 카테고리의 다른 글

[TIL] 211021  (0) 2021.10.21
[TIL] 210928  (0) 2021.09.28
[TIL] 210926  (0) 2021.09.27
[TIL] 210923  (0) 2021.09.24
[TIL] 210902  (0) 2021.09.03
Comments