본문 바로가기

javascript7

async / await function hello(){ return 'hello'; } async function helloAsync(){ return "hello Async"; } console.log(hello()); console.log(helloAsync().then((res)=>{ console.log(res); })); async function : 비동기 함수를 선언 해줌으로써 반환 값은 Promise로 받는다. 따라서 "hello Async"라는 콘솔을 보기 위해서는 then이나 catch를 사용해야 한다. 2023. 9. 8.
promise pending -> fulfillled : resolve pending -> rejected : reject 콜백 지옥 function taskA(a,b,cb){ setTimeout(()=>{ const res = a + b; cb(res); },3000) } function taskB(a,cb){ setTimeout(()=>{ const res = a * 2; cb(res); },1000) } function taskC(a,cb){ setTimeout(()=>{ const res = a * -1; cb(res); },2000) } taskA(3,4,(a_res)=>{ console.log(a_res); taskB(a_res,(b_res)=>{ console.log(b_res); taskC(b_res,(.. 2023. 9. 7.
동기 & 비동기 자바스크립트의 싱글 스레드 작업 수행 방식 Tread - taskA 0.3s- taskB 0.5s - taskC 0.1s 동기 방식의 처리 자바스크립트의 싱글 스레드 작업 수행 방식 Tread - taskA 0.3s- taskB 20s - taskC 10s 동기적 처리의 단점은 하나의 작업이 너무 오래 걸리게 될 시, 모든 작업이 오래 걸리는 한나의 작업이 종료되기 전까지 올 스탑 되기 때문에, 흐름이 느려진다. 웹사이트에서 버튼 하나하나마다 30초 씩 걸리면, 속 터진다. -> 동기 처리 방식의 문제점 싱글 쓰레드 방식을 이용하면서, 동기적 작업의 단점을 극복하기 위해 여러개의 작업을 동시에 실행시킴 즉, 먼저 작성된 코드의 결과를 기다리지 않고 다음 코드를 바로 실행함 ->비동기 작업 JS Engin.. 2023. 9. 7.