동기 처리 모델
연속물정상적으로 작업 완료
과제는 잇달아 일어나는그리고 그것은 무언가를 하고 다음은 분위기하다
서버로부터 데이터 요청을 받아 화면에 표시하는 태스크가 실행 중이면 서버가 데이터를 요청한 후 응답을 받을 때까지 태스크가 계속됩니다.
블록 (작업 중지)된다
function first() {
console.log('first');
second();
}
function second() {
console.log('second');
third();
}
function third() {
console.log('third');
}
first();
비동기 처리 모델 / 비차단 처리 모델)
평행한임무를 수행하다
작업이 완료되지 않아도 기다리지 않고 다음 작업이 실행됩니다.
서버에 데이터를 요청하는 작업을 수행하여 서버에 데이터를 요청한 후 서버에서 데이터를 응답할 때까지 화면에 표시하는 경우 비차단 다음 작업을 즉시 완료
브라우저의 비동기 프로그래밍이 기본입니다.
의사소통이는 장기 실행 작업을 브라우저에 위임할 때 발생합니다.
– 대부분의 자바스크립트 DOM 이벤트 핸들러그리고 타이머 기능(setTimeout, setInterval) Ajax 요청은 비동기 처리 모델에서 작동합니다.
비동기 프로그래밍 방법은 종종 프로그램 성능과 응답성을 향상시키는 데 도움이 됩니다.
그러나 코드가 실제로 실행되는 순서를 혼동하여 코드를 읽기 어렵고 디버깅하기 어렵게 만든다는 비판을 받았습니다.
이 문제를 해결하기 위해 여러 비동기 프로그래밍 기술이 개발되었으며 일부는 JavaScript 언어 자체에 내장되었습니다.
function first() {
console.log('first');
second();
}
function second() {
setTimeout(function() {console.log('second')}, 0);
third();
}
function third() {
console.log('third');
}
first();
원천
https://poiemaweb.com/js-async
https://developer.mozilla.org/en/docs/Learn/JavaScript/Asynchronous
https://helloworldjavascript.net/pages/285-async.html