setTimeout(() => console.log('2'), 1000); // 비동기
function printImmetiately (print) {
print(); // 동기 callback 함수 호출
}
printImmetiately( () => console.log('hello')); // 동기
function printWithDelay(print, timeout) {
setTimeout(print, timeout); // 비동기
}
printWithDelay(() => console.log('async callback'), 2000); // 비동기
자바스크립트의 처리 과정