Hint
Multiple Promise chains interleave by round-robin. Each .then schedules the NEXT .then — they don't all run back-to-back.
Promise.resolve()
.then(() => console.log(1))
.then(() => console.log(2));
Promise.resolve()
.then(() => console.log(3))
.then(() => console.log(4));1 3 2 4
Explanation: After sync code, both first .then callbacks are queued (1 and 3). After 1 runs, 2 is queued. Then 3 runs, queueing 4. Then 2, then 4.
Key Insight: Multiple Promise chains interleave by round-robin. Each .then schedules the NEXT .then — they don't all run back-to-back.