본문 바로가기

메모

콜백 잡 지식 정리

//원래 콜백이라는 것은 어떤 함수가 실행된 이후에 다음 함수가 사용됨을 표현하기 위해 만들어졌다. 이는 동기적으로 실행이 되는 것을 알 수가 있다.
undefined
let array=[1,2,3].map((el)=>{


    return el+1

})
undefined
array
(3) [2, 3, 4]
//만약에 자바스크립트에서 데이터 다운로드 후에 데이터를 처리하는 함수를 만들고 싶다면??
undefined
//먼저 내가 생각하는 모습은 두 함수를 선언하고 호출하면 끝? 이라고 생각한다 그러나 결과는?
undefined
function download(url){

    setTimeout(()=>{


        console.log(`${url}을 다운로드 중입니다...`)

    })



}


function process(url){

    
    console.log(`${url}을 처리중입니다`)


}
undefined
download("url")
process("url")
VM2175:18 url을 처리중입니다
undefined
VM2175:6 url을 다운로드 중입니다...
///?? 콜스택이라는 공간에서 처리해야하는 단일 스래드이기 때문에 만약에 웹API 함수가 호출이 되면 콜 스택이 비었을 때 처리 되는 상황이 발생한다. 이는 먼저 download가 호출이 됐지만 호출됐기 때문에 바로 처리 되고 process가 호출 처리 되지 않고 새로운 공간에서 저장되어 있다가 다시 호출되서 처리되는 모습을 볼 수 있다. 단일스래드의 한계점을 보완해주는 모습이다.

 

'메모' 카테고리의 다른 글

if else 구문의 다양한 표현  (0) 2021.10.20
메모 #유효성검사  (0) 2021.09.23