추상화
하여 함수 외부
에서 내부
로 로직을 전달할 필요성 생김매개변수
로써 함수
(변경되는 로직)를 이용callback 함수
라고 한다.고차 함수
라고 한다.📌 Hook 이전, Class 기반의 React에서 고차함수를 통해 state
가 있는 컴포넌트를 재사용 하곤 했다.
pop
된 이 후에 콜 스택에 push
되므로)XMLHttpRequest
생성자 함수를 이용해, 객체를 생성하고 .open
,.send
,.onload
메서드를 이용해 비동기 작업을 수행한다. (Web API 호출).onload
메서드는 미리 만들어 놓은 콜백함수를 인자로 갖는다.XMLHttpRequest
객체를 참조하므로, 객체의 상태에 따라 결과를 콘솔에 출력한다.state
)와 결과(result
)를 관리하는 객체Promise
생성자 함수로 생성이 되고, 콜백 함수를 인자로 받는다.resolve
와 reject
라는 함수를 인자로 받는다.const promise = new Promise((resolve, reject) => {
/*여기서 비동기 함수 실행*/
if (성공시) resolve(결과)
else reject(실패 이유)
})
resolve
와 reject
라는 함수가 대신한다.resolve
와 reject
함수는 promise
객체의 프로퍼티를 변경시킨다. (state, result)프로미스의 후속 처리 메서드
를 이용하는 것 이다.const promise = new Promise((resolve, reject) => {
/*여기서 비동기 함수 실행*/
if (성공시) resolve(결과)
else reject(실패 이유)
})
promise.then((v) => console.log(v), (e) => console.error(e))
promise
객체의 메서드를 통해 promise
객체의 프로퍼티를 변경하고, 전역으로 읽어옴으로 비동기 결과를 콜백함수 바깥으로 가져올 수 있다는 점이다.프로미스의 후속 처리 메서드
의 콜백함수는 마이크로태스크 큐
라는 태스크 큐
보다 우선순위가 높은 큐에 enqueue
된다.