async

    [Async] waterfall, parallel로 흐름 제어

    [Async] waterfall, parallel로 흐름 제어

    이전 포스팅한 async 정의에 대해 다뤄봤고 이번엔 async에서 자주 사용하는 메서드를 알아볼 것이다. 1. waterfall waterfall 함수는 비동기 함수를 순차적으로 실행하지만 각 작업의 결과를 다음 작업으로 넘겨주어 최종적으로 결과값을 return 한다. async.waterfall(작업리스트, 완료 콜백) 이 그림은 비동기 함수 asyncfunctionaA, asyncfunctionB,asyncfunctionC 를 순차적으로 실행하고, 각 단계에서 다온 리턴값을 다음 단계로 넘기는 waterfall 흐름의 개념을 표현하고 있다. 각각의 단계에서 처리되는 함수를 async에서는 task라고 정의한다. 이 task가 모두 수행이 끝나면, 맨 마지막에 정의된 callback 함수가 수행된다...

    [Async] async 라이브러리

    회사 입사하고 코드리뷰와 몇몇 일들을 맡으면서 (바쁠땐 바쁘고 퇴근하면 힘빠져서) 한동안 블로그 포스팅을 못하고 있었다. 원래 Spring 준비하다가 기회가 생겨서 express 사용하는 서비스 회사에 4월 1일부터 입사했다. java가 아닌 javascript를 접하는데 java와 다르게 동적 타입이며, 신경써야 하는 부분이 더 많아진 느낌이였다. 코드를 리뷰하면서 ORM의 Service, Controller, Repository 구조가 아니라 유동적으로 사용될 수 있는 express 디자인 패턴을 접하는데 가장 많이 사용하는 async 라이브러리를 많이 다루게 되었다. Async 라이브러리을 사용하면 콜백 함수들을 순차, 병렬 처리가 가능하여 파이프라이닝 하면서 실행할 수 있다. 또한 비동기 루프를 ..