실제로 동기화를 원할 때 비동기 함수를 처리하는 방법


16

NodeJS를 처음 접했을 때 한 호출이 다른 호출을 동기화 된 방식으로 따르기를 원할 때 함수의 비동기 특성으로 머리를 감싸는 데 어려움을 겪고 있습니다.

예를 들어 웹 서비스 메서드를 호출한다고 가정 해보십시오. 모든 메소드에는 콜백 함수가 있습니다. 그러나 특정 순서로 10 개를 호출하려면 어떻게해야합니까? 첫 번째 콜백에서 모든 함수를 체인 / 임베드해야합니까? 체인이 두 번째로 약간 다른 경우 어떻게해야합니까?

실제로 동기화하려는 상황을 처리 할 수있는 우아한 패턴이 있습니까?

아니면 이런 종류의 프로그래밍을 다른 사고 방식에 익숙하게해야합니까? 그것이 사실이라면 누군가 콜백을 사용하여 더 긴 함수 체인의 깨끗한 예를 알려 줄 수 있습니다 ...


특정 순서로 10 요청. 그들은 서로 독립적입니까?
Jonas

1
그리고 참고 : 체인에 연결되었다고해서 체인에 모든 것이 연결되어 있지 않으면 비동기가 아닙니다.
Erik Reppen

답변:


9

사람들은 보통 그것을 위해 단계 또는 비동기 를 사용합니다. 그것들을 확인하십시오. 그들에 대한 훌륭한 튜토리얼이 많이 있습니다.

http://dailyjs.com/2011/11/14/popular-control-flow/
http://dailyjs.com/2011/11/07/code-review/
http://howtonode.org/step-of- 지휘자

또한이 두 가지 답변을 확인하십시오.

/programming/6954588/what-is-the-best-control-flow-module-for-node-js
/programming/5265743/node-js-what-techniques -깨끗하고 간단한 콜백 코드가 있습니다.


기꺼이 도와 드리겠습니다!

1
제공해 주신이 링크에 감사드립니다.
Lonnie Best
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.