спасибо за комментарий! знания про то как работает браузер и последовательность и приоритетность работы event loop важна не только для разработки высоконагруженных приложений
движки работают по-разному разве что на цикле render и requestAnimationFrame (может еще меняться их порядок :D), в остальных случаях все практически одно и то же
давайте по порядку выполним ваш фрагмент кода:
— первым делом ставится в очередь задача от Tasks — run script
— помещается в очередь Tasks queue коллбек setTimeout
— помещается в очередь Microtasks queue коллбек Promise
— завершается задача Tasks run script после выполнения цикла
— выполняются задачи от Microtasks (они идут после Tasks)
— происходит цикл рендеринга
— снова возвращаемся к задачам от Tasks где есть коллбек нашего таймаута и кидаем его в callStack
— все)
В этой статье я постараюсь подробно разобрать механизм реализации замыканий в JavaScript
я не зря же это написал в начале статьи) если она показалась вам сложной, то интернет полон поверхностных статей, прочитав которые вы прекрасно сможете с этим работать.
движки работают по-разному разве что на цикле render и requestAnimationFrame (может еще меняться их порядок :D), в остальных случаях все практически одно и то же
— первым делом ставится в очередь задача от Tasks — run script
— помещается в очередь Tasks queue коллбек setTimeout
— помещается в очередь Microtasks queue коллбек Promise
— завершается задача Tasks run script после выполнения цикла
— выполняются задачи от Microtasks (они идут после Tasks)
— происходит цикл рендеринга
— снова возвращаемся к задачам от Tasks где есть коллбек нашего таймаута и кидаем его в callStack
— все)
facebook.github.io/react-native/docs/performance#my-touchablex-view-isn-t-very-responsive
И при запуске профайла все будет ок
Читал ее. Согласен, хорошая статья