Javascript/비동기 처리

Javascript 비동기 처리의 이해 (feat. 주로 처리하는 작업)

appmaster 2021. 2. 2. 13:14

작업이 빨리 끝나는 순서대로 출력이 되는것입니다.

우선 예를 보여드리겠습니다.

function work(){
    setTimeout(()=>{
        const start = Date.now();
        for(let i =0; i<10; i++){
        }
        const end = Date.now();
        console.log(end-start + '2초')
    }, 2000)
}

console.log('작업 시작');
work();
console.log('다음 작업');
//출력값
작업 시작
다음 작업
02초

분명히 work함수를 먼저 실행했어도 '다음 작업' 보다 늦게 끝나기 때문에,

다음작업이 먼저 출력되고 그 다음에 work함수에 있는 내용이 출력되는것을 확인 할 수 있습니다.

 

 

 

주로 처리하는 작업

1. Ajax Web API 요청

--> 만약 서버쪽에서 데이터를 받아올때는 요청을 하고 서버에서 응답을 할때까지 대기를 해야하기 때문에 비동기 작업을 처리합니다.

 

2. 파일 읽기

--> 주로 서버쪽에서 어떤 파일을 읽어와야하는 경우에 비동기 작업을 처리합니다.

 

3. 암호화/복호화

--> 암호화, 복호화 하는 과정에도 시간이 걸리기 때문에 비동기 작업을 처리합니다.

 

4. 작업예약

--> 어떤 작업을 예약해야할때 set time out을 이용해서 비동기 작업을 처리합니다.

 

 

또한 callback, promise, async await이 이용됩니다.