Macrotasks vs Microtasks: Understanding JavaScript's Execution Order | DevPrep