요청이 끝나야 다음작업을 실행한다.
싱크가 맞아떨어진다.
1번 요청 -> 1번 요청 결과반환 -> 2번 요청 -> 2번 요청 결과 반환 -> 3번 요청 -> 3번 요청 결과 반환.
이렇게 이해하면 될 듯 하다.
즉
싱크가 맞지않다.
1번 요청 -> 2번 요청 -> 3번 요청 -> 2번 결과 반환 -> 4번 요청 -> 4번 결과 반환 -> 3번 결과 반환 -> 1번 결과 반환.
순서의 상관없이 처리가 완료된 순서대로 결과를 받는다.
대충 개판이라고 이해하면 될 듯하다.
자바스크립트는 비동기방식의 프로그래밍 언어.
사람한텐 뒤죽박죽이라 복잡하겠지만 프로세스가 어느 하나의 작업에 잡혀있지 않고 동시에 여러작업을 수행할 수 있으니 컴퓨터 입장에선 합리적이고 효율적
(단, 동시에 여러 작업을 한다고 항상 성능이 우월하다고 할 순없다.)
예를 들면
1번작업 - HTML의 코드를 크롤링작업 실시.
2번작업- HTML코드에서 필요한 부분만 파싱해서 출력해야하는 상황.
이 같은 경우 2번작업을 실행하기 위해선 반드시 1번작업으로 HTML코드가 반드시 호출 된 상태여야한다.
하지만 HTML코드의 경우 양이 많아 약간의 시간이 소요된다.
이 작업이 끝나기전에 2번작업이 실행되면 2번 작업의
출력은 Null 또는 Undefine이 출력될 것 이다.
그래서 안전한 프로그램(?)을 만들기 위해서 1번작업을 동기적으로 처리해주고 2번작업으로 넘어 가야한다.