Попробую аналогию. <br/> <br/> Промис (P) это магазин. then это клиенты-покупатели. <br/> <br/> 7 утра. Магазин ещё закрыт (промис в состоянии pending), но первые покупатели уже пришли и стоят у дверей. <br/> (P.then(func1), P.then(func2), …) <br/> <br/> 8 утра. Всё ещё закрыт, приходят ещё покупатели <br/> (P.then(func100), P.then(func101),…) <br/> <br/> 9 утра. Магазин наконец открылся (промис перешёл в состояние fullfilled) и все покупатели зашли и чего-то купили <br/> (Выполнились func1, func2, ..., func100, func101, ...) <br/> <br/> 10 утра. Приходит покупатель, магазин уже открыт, так что он сразу покупает что ему нужно <br/> (P.then(func200) и сразу (вернее на следующем цикле микрозадач) выполняется func200) <br/> <br/> и далее весь день. <br/> <br/> Но в отличии от реального магазина, промис уже никогда не закроется после открытия. <br/> <br/> Ссылки для чтения <br/> <a href="https://doka.guide/js/promise/" rel="nofollow">https://doka.guide/js/promise/</a> <br/> <a href="https://learn.javascript.ru/promise-basics" rel="nofollow">https://learn.javascript.ru/promise-basics</a> <br/> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaS...</a>