티스토리 뷰

JavaScript

[javascript] 비동기 작업

에스파니아 2022. 2. 24. 08:49
728x90
반응형

비동기 작업



 

- 비동기적 작업 : 싱글 스레드 방식을 이용하면서, 동기적 작업의 단점을 극복하기 위해 여러개의 작업을 동시에 실행 시키도록 하는 방식
- 논 블로킹 방식 : 하나의 작업이 스레드를 점유 하지 않아 스레드가 다른 작업을 하지 못하는 블로킹을 하지 않는 방식

 

 

비동기 작업의 문제점

 

 

비동기 작업은 특정 로직의 실행이 끝날 때 까지 기다리지 않고, 나머지 코드를 실행한다.

대표적인 비동기 작업인 Ajax 통신을 한다고 가정했을 때,
function getData(){
	let data;
    
    $.ajax({
    	type: 'post',
        url: 'https://espania.github.io'/,
        data: {
        	//
        }
    	success: function(result){
        	data = result;
        }
    });
    
    return data;
}

console.log(getData());	//undefined 출력​


Ajax로 데이터를 요청하고 응답값을 받기 전에 'return data;' 가 실행되기 때문에

getData의 return 값은 undefined가 출력된다.


그러므로 위와 같은 문제점들을 해결 하기 위해 비동기 작업을 포함한 함수를 실행할 때 매개 변수로 콜백 함수를 붙여서 호출 하는 방법을 사용한다.

 

 

참고

 

 

 

728x90
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함