모던 자바스크립트 Deep Dive를 참고하여 학습,작성하였습니다.
동기식 vs 비동기식
동기식 처리 모델은 하나의 작업이 실행될때 다른 작업은 실행되지않고 대기하게된다.
비동기식 처리 모델은 병렬적으로 작업을 처리한다. 하나의 테스크가 종료되지않더라도 다음 작업을 처리하게된다. 자바스크립의 DOM 이벤트 헨들러, Timer함수는 비동기 처리모델이다.
해당 코드에서 func2는 비동기 처리함수은 Timer가 있으므로 시간이 0이여도 func3가 실행된다음에 func2가 처리가 끝나는것을 볼수있다.
function func1() {
console.log('func1');
}
function func2() {
setTimeout(function() {
console.log('func2');
}, 0);
}
function func3() {
console.log('func3');
}
func1();
func2();
func3();
//
func1
func3
func2
'FrontEnd > JavaScript' 카테고리의 다른 글
[JavaScript] 이벤트 (0) | 2024.06.12 |
---|---|
[JavaScript] DOM 조작 (0) | 2024.06.10 |
[JavaScript] 문서 객체 모델(DOM) (0) | 2024.06.10 |