Synchronous code runs line by line. Each line waits for the previous to finish.
const data = readFileSync("data.txt"); // Blocks
process(data); // Runs after file is read
Asynchronous code doesn't wait. It schedules work and moves on.
readFile("data.txt", (data) => {
process(data); // Runs later when ready
});
console.log("Continues immediately");