Web Dev/1. JS 문법 관련

[함수형 프로그래밍] 섹션11. 비동기:동시성 프로그래밍 3(QnA)

hYhY1234 2021. 2. 13. 00:23
728x90
Document 해당 Repository를 clone 하신 후, http-server ./section11 을 통해서 확인하실 수 있습니다

async/await

  • JavaScript에서 비동기 상황을 더욱 동기처럼 다루기 위한 도구
  • 비동기적으로 일어나는 일을 동기적인 문장으로 다루게 해줌
  • 결국에는 promise를 다루기 위해서는 promise를 잘 알아야한다. 왜냐하면 await하는건 결국 promise 객체이기 때문

1. Array.prototype.map이 있는데 왜 FxJS의 map 함수가 필요한지?

  • array.map은 비동기처리를 직접해주지않는다

2. 이제 비동기는 async:await로 제어할 수 있는데 왜 파이프라인이 필요한지? async:await와 파이프라인을 같이 사용하기도 하는지?

  • async/await 과 pipe가해결하는 문제가 다르다
  • async/await은 then then then... 이 되는걸 해결하기위한것
  • pipe: 명령형 프로그래밍을 통하지 않고 함수를 합성하기 위함, 동기든 비동기든 함수 합성을 하기 위함, 읽기가 좋음, 그리고 수정이 쉬움
  • pipe와 async/await을 같이 쓰기도 한단

3. 동기 상황에서 에러 핸들링은 어떻게 해야하는지?

  • 안전하게 흘려보내거나, 에러를 그냥 뿜도록 냅둘 수 있음
  • error: https://stackify.com/node-js-error-handling/
  • velog: https://velog.io/@smooth97/-Learning-Javascript-%EC%98%88%EC%99%B8%EC%99%80-%EC%97%90%EB%9F%AC-%EC%B2%98%EB%A6%AC

4. 비동기 상황에서 에러 핸들링은 어떻게 해야하는지? 동기/비동기 에러 핸들링에서의 파이프라인의 이점은?

  • Pipe를 잘 활용하자