JavaScript에서는 비동기 처리를 어떻게 처리할까?

동기적(Synchronous)

비동기적(Asynchronous)

function work() {
	const start = Date.now();
	for (let i = 0; i < 1000000; i++) {
		
	}
	const end = Date.now();
	console.log(end - start + "ms");
}

work();
console.log("next");

위 코드는 work 함수가 실행된 후에 console.log가 출력된다.

그래서 work 함수를 비동기로 전환하면,

function work() {
	setTimeout(() => {
		const start = Date.now();
		for (let i = 0; i < 1000000000; i++) {}
		const end = Date.now();
	}, 0);
}

work();
console.log("next");