NodeJS를 배우고 있으며 무언가를 명확히하고 싶었습니다. 지금까지 여러 입문 튜토리얼과 서적에서 Node의 "비 차단"아키텍처에 대해 설명했거나 오히려 비 차단 방식으로 코딩하는 것이 가능하고 전체 포인트를 권장했습니다.
예를 들어,이 예제는 데이터베이스에서 데이터를 가져 오는 비동기 방식을 읽는 책에서 제공되었습니다.
http.createServer(function (req, res) {
database.getInformation(function (data) {
res.writeHead(200);
res.end(data);
});
});
내가 이해하는 것처럼 Node는 데이터베이스를 호출 한 다음 호출 스택에서 다음에있을 수있는 것을 계속 처리합니다. 데이터베이스 요청이 완료되면 익명 콜백 함수의 데이터 변수가 채워지고 해당 함수가 호출 스택에 추가됩니다 (그리고 노드가이를 가져 오면 실행 됨).
내 질문은 데이터베이스 요청을 정확히 처리 하는 것입니까? 확실히 노드가 차단해야합니까? 데이터베이스 요청을 처리하는 것은 무엇입니까? 또는 Node가 외부 리소스에 대한 비동기 HTTP GET 요청을 기다리는 경우 Node가 호출 스택을 계속 처리하고 "비 차단"할 수 있도록하는 요청을 처리하는 것은 무엇입니까?
net
HTTP를 사용할 수없는 경우 패키지.