모든 JavaScript 콜백은 비동기식인가요?
일반적인 믿음과는 달리 모든 JavaScript 콜백이 비동기식은 아닙니다. 예를 들어 Array#sort 및 String#replace에 사용되는 콜백은 동기적으로 실행됩니다.
비동기 콜백
비동기 콜백은 나중에 실행되어 다른 코드를 허용하는 콜백입니다. 동시에 실행합니다. 일반적으로 비동기 콜백에는 외부 리소스 요청(예: jQuery AJAX 호출)이 포함됩니다.
jQuery AJAX 호출
jQuery AJAX 함수는 다음 조건에 따라 동기식 및 비동기식일 수 있습니다. "비동기" 플래그 설정. 그러나 브라우저는 일반적으로 XMLHttpRequest 객체(jQuery AJAX에서 사용됨)에 대해 비동기 작업을 기본으로 합니다.
Node.js의 비동기성
Node.js에서 비동기성은 다음을 통해 도입됩니다. 파일 I/O, process.nextTick, setTimeout 및 setInterval과 같은 특정 기능. 이러한 함수 외부의 비동기 작업은 지원되지 않습니다.
비동기 함수 생성
ECMAScript 6 이전에는 JavaScript의 비동기 함수가 호스트 제공 함수(예: nextTick in)에 의존했습니다. Node.js, 브라우저의 setTimeout).
ECMAScript 6 Promises
ECMAScript 6에서는 비동기 프로그래밍을 위한 언어 수준 개념으로 Promise를 도입했습니다. Promise에 첨부된 콜백(then 또는 catch를 통해)은 Promise가 첨부될 때 이미 확정된 경우에도 항상 비동기식으로 호출됩니다.
따라서 비동기 콜백 실행을 보장하는 가장 좋은 방법은 직접 대신 Promise를 사용하는 것입니다. 콜백.
위 내용은 JavaScript 콜백은 항상 비동기적입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!