nodejs에서는 기본적으로 "I/O" 작업의 결과가 콜백 함수에서 처리되어야 합니다. 여러 이벤트를 처리할 때 콜백 함수는 레이어별로 중첩됩니다. 즉, 비동기식입니다. 요청은 비동기식 요청 내에 중첩되며 하나의 비동기식 요청은 서로 중첩하기 위해 콜백을 사용하여 다른 요청의 실행 결과에 따라 달라집니다.
이 문서의 운영 환경: Windows 10 시스템, nodejs 버전 12.19.0, Dell G3 컴퓨터.
nodejs의 I/O 작업 결과는 기본적으로 콜백 함수에서 처리되어야 합니다. 여러 이벤트가 처리되면 콜백 함수가 레이어별로 중첩됩니다. 이것이 콜백 지옥입니다. .
비동기 요청은 비동기 요청 내에 중첩되며 하나의 비동기 요청은 서로 중첩하기 위해 콜백을 사용하여 다른 요청의 실행 결과에 따라 달라집니다.
Nodejs의 가장 큰 특징은 이벤트 중심의 비차단 I/O입니다. Nodejs를 만드는 모델입니다. 강력한 동시 처리 기능을 갖추고 있으며 네트워크 애플리케이션을 작성하는 데 매우 적합합니다. Nodejs의 대부분의 I/O 작업은 거의 비동기식입니다. 즉, I/O 작업의 결과는 기본적으로 파일 내용을 읽는 다음 함수와 같은 콜백 함수에서 처리되어야 합니다.
fs.readFile('/etc/passwd', function (err, data) { if (err) throw err; console.log(data); });
그럼 어떻게 해야 할까요? 두 개의 파일을 읽고 두 파일의 내용을 병합하여 처리한다면? js에 잠시 노출된 대부분의 사람들은 다음과 같이 할 것입니다.
fs.readFile('/etc/passwd', function (err, data) { if (err) throw err; fs.readFile('/etc/passwd2', function (err, data2) { if (err) throw err; // 在这里处理data和data2的数据 }); });
그러면 비슷한 장면을 여러 개 다룬다면 그렇지 않을까요? 콜백 함수는 레이어별로 중첩되어 있습니다. 이것은 모두가 콜백 피라미드 또는 콜백 지옥이라고 부르는 것입니다.
추천 학습: "nodejs 비디오 튜토리얼"
위 내용은 nodejs 콜백 지옥이 뭐죠?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!