작동 중인 Nodejs 비동기 엔진(시각적)
4285 단어 nodeasyncawaitmonitoring
이전에 javascript에서 async/await 및 Promise를 살펴보았지만 아직 숙달하지 않은 경우 이 기사는 코드 실행 흐름에 대한 nodejs 비동기 엔진의 실제 효과를 더 잘 이해하는 데 도움이 되는 것을 목표로 합니다.
또한 Inspector 덕분에 실시간으로 코드 실행 흐름을 탐색하여 시각적으로 수행할 것입니다. 기사의 끝에서 nodejs 애플리케이션을 Inspector와 빠르게 연결하기 위한 모든 리소스를 찾을 수 있습니다.
동기식 프로그래밍
전통적인 프로그래밍 언어에서는 대부분의 작업이 동기적으로 발생합니다. PHP에 대해 생각하고 PHP를 사용하여 파일을 읽는 방법에 대해 생각하면 다음과 같이 됩니다.
echo "Start reading the file...";
$content = file_get_contents('./export.csv');
echo $content;
echo "End of the script...";
메인 스레드는 파일을 읽을 때까지 차단됩니다. 즉, 그 동안 다른 작업을 수행할 수 없으므로 스크립트가 파일의 내용을 에코할 것이라고 확신합니다.
동기 스크립트를 실행하면 다른 작업으로 이동하기 전에 각 작업이 완료될 때까지 기다립니다.
Start reading the file...
#Content of the file
End of the script...
아래 이미지에서 볼 수 있듯이 이 동작은 Laravel 애플리케이션의 코드 실행 타임라인을 보면 명확해집니다. 아래 끝점은 데이터베이스와 redis 서버에 대해 여러 쿼리를 실행하고 각 작업은 차례로 순차적으로 실행되었습니다.
작업이 완료되면 프로그램이 끝날 때까지 다른 작업이 실행됩니다.
비동기 프로그래밍
Nodejs와 같은 비동기 환경에서 일부 작업은 기본 스크립트와 병렬로 실행되도록 예약할 수 있으므로 기본 프로그램은 스크립트에서 후속 작업을 계속 실행합니다.
nodejs에서 파일을 읽으려면 다음 코드 예제를 살펴보십시오.
const fs = require('fs')
console.log("Start reading the file...")
fs.read('./export.csv', function(err, content) {
console.log(content)
})
console.log("End of the script...")
fs 모듈의 비동기 인터페이스를 사용하여 파일 읽기를 시도했습니다. 예상대로 작동합니다. 콘텐츠 변수는 "End of the script…"다음에 출력됩니다.
Start reading the file...
End of the script...
#Content of the file
파일을 읽기 시작하면 실행이 계속되고 응용 프로그램이 End of the script를 인쇄했습니다.... 콜백은 파일 읽기가 완료된 후에만 호출되었습니다.
비동기 컨텍스트에서 코드 실행 흐름을 시각적으로 표현하기 위해 Inspector를 사용하여 작업에서 병렬 실행을 볼 수 있습니다.
필요한 경우 작업이 동시에 실행되며 각각 고유한 기간이 있습니다. 코드 실행 모니터링을 통해 종종 우리가 작성하는 코드의 동작을 더 잘 알 수 있습니다. 이것이 Nodejs 및 Laravel 커뮤니티에서 채택이 계속 증가하는 이유입니다.
NodeJ의 비동기 특성을 더 깊이 이해하려면 다음 비디오를 반드시 시청해야 합니다.
다음 단계: 첫 번째 Node.js 서버
다음 장에서는 배포 방법your Node.js server using Laravel Forge을 배우게 됩니다. 그 동안 질문이 있으면 주저하지 말고 질문하십시오!
Reference
이 문제에 관하여(작동 중인 Nodejs 비동기 엔진(시각적)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/inspector/nodejs-async-engine-in-action-visually-b7m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)