Javascript/비동기 처리
Javascript 비동기 처리의 이해 (feat. 주로 처리하는 작업)
컴공 윤서혜 학습일기
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이 이용됩니다.