동기와 비동기

서재환·2021년 11월 23일
0

JavaScript

목록 보기
6/25

동기

코드가 순차적으로 실행되는 상태를 의미한다.

비동기

코드의 실행흐름이 추가되어 병렬적으로 코드가 실행되는 상태를 의미한다.

쭉 실행되다가 중간에 나중에 실행되야 하는 부분이 있어 실행되는 흐름은 계속 실행이 되고,
나중에 실행이 되는 흐름이 생겨 코드의 실행흐름이 추가적으로 더 생기게 된 상태이다.
function sum(a,b) {
  return a+b
}

function calculate(a,b, cb) {
  setTimeout(()=>{cb(a,b)}, 100)
}

function callBack(result1, result2) {
  console.log(result1 + result2);  
}

const result1 = sum(1,1);
const result2 = result1;
/*여기까지는 코드가 동기적으로 실행이된다.*/

const result3 = calculate(result1, result2, callBack) // undefined
/*
하지만 result3은 0.1초후 callBack함수가 실행된 이후 값이 담기는 것이 아니라

const result2 = result1; 이후 바로 실행이 되고,(const result3=undefined)

0.1초 이후 caculate가 실행이되어 콘솔에 4라는 값이 찍히게 된다.
*/

위의 예에서 살펴보았듯이 두개의 실행흐름이 생기는 것을 볼 수 있고 이를 비동기적으로 실행
되었다고 한다.

0개의 댓글