короче, фишка в том, что оказывается тело промиса выполняется в том же тике (макрозадаче), где он и вызывается... А дальше все в микротаски кладется. Хотя в основном нигде об этом не пишут. Я сам этот момент не знал)
короче, фишка в том, что оказывается тело промиса выполняется в том же тике (макрозадаче), где он и вызывается... А дальше все в микротаски кладется. Хотя в основном нигде об этом не пишут. Я сам этот момент не знал)
Ну ты ведь только создаешь этот промис, все логично
ну да, но промис у нас как бы для выполнения асинхронного кода предназначен в основном, и если в теле у нас какая-то долгая операция, то поток сразу встанет
ну да, но промис у нас как бы для выполнения асинхронного кода предназначен в основном, и если в теле у нас какая-то долгая операция, то поток сразу встанет
Потому что у js 1 поток. Если нужны долгие операции, надо использовать другие api, например, web workers
короче, фишка в том, что оказывается тело промиса выполняется в том же тике (макрозадаче), где он и вызывается... А дальше все в микротаски кладется. Хотя в основном нигде об этом не пишут. Я сам этот момент не знал)
Просто тело промиса является понлостью синхронным. Асинхронным у промиса является только then. А сам коллбек с результатом является микротаском.
ну да, но промис у нас как бы для выполнения асинхронного кода предназначен в основном, и если в теле у нас какая-то долгая операция, то поток сразу встанет
ну да, но промис у нас как бы для выполнения асинхронного кода предназначен в основном, и если в теле у нас какая-то долгая операция, то поток сразу встанет
Если у тебя долгая операция, то поток в любом случае встанет, когда она будет исполняться )