작업이 빨리 끝나는 순서대로 출력이 되는것입니다.
우선 예를 보여드리겠습니다.
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이 이용됩니다.
'Javascript > 비동기 처리' 카테고리의 다른 글
async/ await 사용방법 (feat. then과 함께 쓰기) (0) | 2021.02.02 |
---|---|
Promise 나온이유 및 사용방법(feat. 만약 callback함수를 쓰게 된다면?, Promise의 문제점) (0) | 2021.02.02 |
연속되는 Promise 와 연속되는 async await && Promise.all 과 Promise.race (0) | 2021.01.27 |
Async-Await (0) | 2021.01.27 |
Promise - Promise.all, Promise.race (0) | 2021.01.27 |