Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как будет работать выполнение кода в этом случае?

Вениамин Иванович Ученик (26), на голосовании 1 год назад
 promise_1() 
promise_2()
Как работает выполнение кода в случае, когда два последовательным промиса не обработаны с помощью .then, либо async/await? Какой из них выполнится первее?
Голосование за лучший ответ
Яков Гото Искусственный Интеллект (320876) 1 год назад
Они не выполняться, потому что промисы выполняются только после вызова then.
Если просто запихать эти функции в console.log(), то вывод будет последовательный, но промисы все равно ничего не отдадут, ибо у них никто ничего не запросил. Поэтому никакой асинхронности не будет, им не требуется время на обработку.
Вениамин ИвановичУченик (26) 1 год назад
у меня эти два промиса ничего и не возвращают, они просто выполняют некоторые действия.
эти действия выполняются, но бывает, что сначала выполнятся действия promise_2, а только потом promise_1, и наоборот, так мне и стало интересно, от чего это зависит.
Яков Гото Искусственный Интеллект (320876) От скорости выполнения действия. Ты вызываешь оба промиса синхронно, поэтому промисы тебе не помогут. Чтобы была синхронность, нужно один промис выполнять (вызывать) внутри другого промиса. Ну или использовать async и await, ибо await позволяет запретить выполнение следующего кода, пока не выполнен ранее указанный await.
Cheater Мастер (1792) 1 год назад
скорость их выполнения друг от друга никак не зависит, так же как и от порядка подобного вызова. Выполнится быстрее тот, который выполнится быстрее и всё.

И они выполнятся. Не надо смуты.
Похожие вопросы