반응형
동기적(Synchronous)
작업을 하는동안 다른작업을 할수 없는것!
₩₩₩ javascript//순서적으로 실행한다 //연산량이 많은 작업! function work(){ const start = Date.now(); for(let i = 0; i <1000000000; i++){ } const end = Date().now(); console.log(end -start +'ms'); //523ms } work(); cosole.log('다음작업');
//523ms
//다음작업
₩₩₩
비동기적(Asynchronous)
작업을 하면서 다른 작업을 할 수 있는것!
대체적으로 Ajax가 있다
₩₩₩ javascript
//연산량이 많은 작업! function work(){ setTimeout(()=> { const start = Date.now(); for(let i = 0; i <1000000000; i++){ }//end for const end = Date().now(); console.log(end -start +'ms'); //523ms },0) //end setTimeout
}//end work
console.log('작업시작');
work();
cosole.log('다음작업');
//작업시작
//다음작업
//526ms
₩₩₩
callback 함수
work(); 함수가 끝나고 또 실행하고 싶다면
₩₩₩ javascript
//연산량이 많은 작업!
function work(callback){
setTimeout(()=> {
const start = Date.now();
for(let i = 0; i <1000000000; i++){
}//end for
const end = Date().now();
console.log(end -start +'ms');
callback(end-start)
},0) //end setTimeout
}//end work
console.log('작업시작');
work((ms) => { //함수 내부에소 ms를 받아옴
console.log('작업이 끝났어요!');
console.log(ms+'ms걸렸다고해요');
});
console.log('다음작업');
//작업시작
//다음작업
//526ms
//작업이 끝났어요!
//526ms걸렸다고해요.
₩₩₩
사용
- Ajax Web API 요청
- 파일읽기
- 암호화/ 복호화
- 작업예약
반응형
'js' 카테고리의 다른 글
숫자에 콤마 표기 in javascript (0) | 2023.05.10 |
---|---|
promise (0) | 2021.04.23 |
Truthy and Falsy (0) | 2021.04.23 |
class - food class 만들기 (0) | 2021.04.22 |
async - await (0) | 2021.04.08 |
댓글