Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

자바스크립트의 비동기 함수와 노드 이벤트 루프


비동기 함수 , 프로그램은 계속 실행 . 기다리지 않는다! 이렇게 하면 사용자의 대기 시간이 줄어듭니다. 또한 자바스크립트는 프로그래밍 언어 자체가 비동기적입니다.

예를 들어, 코드에서 많은 시간이 필요할 수 있는 값비싼 요청을 실행하는 경우 비동기 함수의 경우 대기 시간이 너무 길어 사용자가 다른 것도 할 수 있습니다!

따라서 일반적으로 비용이 많이 들고 시간이 많이 소요되는 작업을 수행할 때 비동기 코드를 사용하는 것을 선호합니다.

자바스크립트의 비동기 함수의 예를 들어 보겠습니다. -

예시

console.log('One');jQuery.get('page.html', function(data){ console.log("Two");});console.log('Three'); 

출력

하나, 둘, 셋

이제 Node에서 이벤트 루프가 무엇인지 봅시다.

이벤트 루프는 스레드가 주어진 시간에 수행해야 하는 작업을 스레드 일정 내에 생성합니다.

모든 Node.js 애플리케이션은 연결 수신, I/O 완료, 시간 초과 만료, 약속 해결 등과 같은 다양한 이벤트에 대한 반응으로 실행되는 콜백으로 구성됩니다. 메인 스레드(지금은 이벤트 루프로 알고 있음)는 이러한 모든 콜백을 실행합니다.

이벤트 루프가 실행 중일 때 노드는 모든 반복에 대해 비동기 I/O 또는 타이머를 기다리고 있는지 확인합니다. 그리고 아무것도 발견되지 않으면 노드가 종료합니다.