데이터베이스 (MySQL)에서 4 개 또는 5 개의 항목을 검색 한 다음 결과에서 일부 수학을 수행 한 다음 결과를 함수를 호출 한 코드의 주요 부분으로 리턴해야하는 노드 코드의 한 지점에 있습니다 . 이러한 함수 또는 함수에서 반환 된 데이터가있을 때까지는 코드에서 실제로 이동할 수 없습니다.중첩 된 NON 차단 기능이 포함 된 노드 차단 기능?
내가 읽은 모든 것은 노드를 사용하는 데있어 모든 기쁨과 아름다움을 빼앗기 때문에 동기 기능을 만들지 않는다고 말합니다. 그러나 필자는 문자 그대로 함수의 결과가 없으면 코드를 실행할 수 없습니다.
여기에 동기 기능이 필요하지 않습니까? 그렇다면 왜 그렇게 잘못 생각합니까? LOL.
나는 실제로 작업을 수행하는 4 또는 5 개의 함수가 포함 된 하나의 큰 외부 함수를 생각했습니다. 내포 된 함수를 비동기로 만들어 외부 함수 (컨테이너)를 동기식으로 만들 수 있습니다.
이 문제에 대한 의견이 있으십니까? Node를 처음 사용하고 처음부터이 작업을 올바르게 수행하려고합니다.
당신은 그렇게 할 수 없습니다. 대신 약속을 사용해야합니다. – SLaks
node.js는 문자 그대로 비동기 작업이 끝나기를 기다리지 않아도 계속 실행됩니다. 함수 내에 내장 비동기 조작이 있으면이 전체 기능은 이제 비동기입니다. 값을 반환 할 수 없습니다. 토론에 대한 자세한 내용은 [비동기 적 호출의 응답을 반환하는 방법] (http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call)을 참조하십시오. 당신의 선택. 약속이나 콜백이 사용됩니다. – jfriend00