The Main Thread Is a Queueing Problem
A practical model for understanding why browser work feels instant until one task holds the main thread for too long.
Series
3 parts, ordered so each article can assume what the previous one established.
A practical model for understanding why browser work feels instant until one task holds the main thread for too long.
JavaScript can start asynchronous work without making the single main thread magically perform two tasks at once.
A small ordering rule explains why a resolved promise can still postpone painting and user input.