>  기사  >  웹 프론트엔드  >  자바스크립트 비동기란 무엇을 의미하나요?

자바스크립트 비동기란 무엇을 의미하나요?

WBOY
WBOY원래의
2022-01-19 11:45:534239검색

JavaScript에서 비동기는 코드 순서대로 실행되지 않음을 의미합니다. 비동기 프로세스의 실행은 더 이상 원래 순서와 순차적 관계를 갖지 않습니다. 비동기식으로 이해될 수 있는 작업 작업을 완료하기 위해 메인 스레드에서 하위 스레드를 시작하는 것입니다.

자바스크립트 비동기란 무엇을 의미하나요?

이 튜토리얼의 운영 환경: Windows 10 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터. 자바스크립트 비동기란 무엇을 의미하나요?

우리가 배우는 전통적인 단일 스레드 프로그래밍에서 프로그램 실행은 동기식입니다(동기식은 모든 단계가 동시에 실행된다는 의미가 아니라 단계가 제어 흐름 순서에 따라 순차적으로 실행된다는 의미). 비동기 개념은 동기화를 보장하지 않는 개념입니다. 즉, 비동기 프로세스의 실행은 더 이상 원래 시퀀스와 순차적 관계를 갖지 않습니다. 간단히 이해하면 동기화는 코드 순서대로 실행되고 비동기 실행은 코드 순서가 아니며 비동기 실행이 더 효율적입니다. 위는 비동기 개념에 대한 설명입니다. 다음으로 비동기를 간단하게 설명하겠습니다. 비동기는 작업을 완료하기 위해 메인 스레드에서 하위 스레드를 시작하는 것입니다.

비동기 프로그래밍을 사용해야 하는 경우

프론트엔드 프로그래밍(백엔드도 가끔 이런 경우가 있음)에서 1+1의 결과를 계산하는 등 짧고 빠른 작업을 처리할 때, 우리는 종종 메인 스레드에서 이 작업을 수행합니다. 에서 완료할 수 있습니다. 스레드로서 기본 스레드는 동시에 여러 요청을 수락할 수 없습니다. 따라서 이벤트가 종료되지 않으면 인터페이스는 다른 요청을 처리할 수 없습니다.

이제 버튼이 있습니다. onclick 이벤트를 무한 루프로 설정하면 버튼을 누르면 전체 웹 페이지가 응답하지 않게 됩니다.

이런 상황을 피하기 위해 우리는 대용량 파일을 읽거나 네트워크 요청을 하는 등 사용자가 알아차릴 만큼 오랜 시간이 걸릴 수 있는 작업을 완료하기 위해 하위 스레드를 사용하는 경우가 많습니다. 자식 스레드는 메인 스레드와 독립적이기 때문에 차단되더라도 메인 스레드의 동작에는 영향을 미치지 않습니다. 그러나 하위 스레드에는 제한 사항이 있습니다: 일단 시작되면 메인 스레드와의 동기화가 끊어집니다. 서버에서 정보를 처리하는 등 종료 이후에 처리해야 할 작업이 있으면 병합할 수 없습니다. 메인 스레드로 들어갑니다.

자바스크립트 비동기란 무엇을 의미하나요?이 문제를 해결하기 위해 JavaScript의 비동기 작업 함수는 콜백 함수를 사용하여 비동기 작업의 결과를 처리하는 경우가 많습니다.

JS의 비동기 요청 및 비동기 로딩

비동기 요청: 발신자가 데이터를 보낸 후 수신자가 응답을 다시 보낼 때까지 기다리지 않고 다음 데이터 패킷을 보냅니다.

예: 사용자가 정보를 입력하면 해당 정보가 자동으로 서버에 제출되고 서버는 클라이언트에 응답합니다. 이 과정에서 사용자는 여전히 양식 정보를 입력합니다. 서버를 여러 번 처리하여 사용자 시간을 절약하고 사용자 경험을 향상시킵니다.

비동기 로딩: 기본 js는 동기적으로 로딩됩니다(여기서 "로딩"은 구문 분석 및 실행으로 이해될 수 있습니다). 비동기 JS는 이 JS 코드를 로드하는 동안 다음 js를 계속 실행함을 의미합니다.

예:

<script type="text/javascript" src=&#39;http://china-addthis.googlecode.com/svn/trunk/addthis.js&#39;></script>
<script type="text/javascript" src=&#39;http://libs.baidu.com/jquery/2.0.0/jquery.min.js&#39;></script>
<script type="text/javascript">
 console.log(&#39;hello world&#39;);
</script>

이 코드는 페이지가 로드되는 동안 콘솔에 문자열을 출력할 수 있는 매우 간단한 것 같습니다. Google은 js를 제공하는 동안 js의 비동기 로딩을 구현하기 위해 다음 js를 계속 실행합니다. 관련 권장 사항:

javascript 학습 튜토리얼

위 내용은 자바스크립트 비동기란 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.