Why React Had to Build Its Own Execution Engine Series: How React Works Under the Hood Part 1: Motivation Behind React Fiber: Time Slicing & Suspense Prerequisites: Read Part 1 first — this article picks up exactly where it left off. Where We Left Off In Part 1 we landed on one sentence that explains why React had to be completely rewritten: React needs to be able to interrupt what it's doing and resume it later. Time Slicing needs it — to yield within the browser's 16ms frame budget. Suspense needs it — to pause and wait for async data. Simple enough requirement. But here's the problem: JavaScript itself won't let you do it. This article is about why that's true, what React did about it, and why that decision — building an entirely custom execution model — is what makes modern React possible. The Problem: JavaScript Runs to Completion When JavaScript starts executing a function, it finishes it.…