169 похожих чатов

И почему он должен забиваться, если там синхронно?

23 ответов

2 просмотра

не так. там отрабатывает "цикл" по юзерам и для каждого юзера еще и 100 сообщений отсылается. если 10 юзеров по 100 - это уже 1000 сообщений. потом когда стек вызовов пустеет коллбеки от этих сообщений обрабатываются по порядку (а в нашем случае их 1000). естественно код не реагирует - он обрабатывает сотни а может и тысячи коллбеков по порядку

Denys Mikhalenko
call stack - это несколько другое

вполне корректно говорить колл стек

N0rda_a Миролюбов
не так. там отрабатывает "цикл" по юзерам и для ка...

Выглядит будто по сообщению для юзера и ещё 100 сообщений непонятно куда.

N0rda_a Миролюбов
screenshot вполне корректно говорить колл стек

Так в случае с асинхронным кодом стек вызовов практически пустой, разве что обёртка send криво написана.

Alexey Pupkin
Так в случае с асинхронным кодом стек вызовов прак...

у него все синхронно в том то и дело. он быстренько сбегал в 10 банков и по 100 паспортам в каждом банке взял по кредиту.,а потом когда он закончил все банки оббегать они ему предьявили платеж по всем кредитам

jk
Ты уверен что там цикл в цикле?

да. users.map - условно один цикл, и для каждого юзера еще внутри while - другой цикл

N0rda_a Миролюбов
да. users.map - условно один цикл, и для каждого ю...

Странно, в упор не вижу. Вижу два не связанных друг с другом цикла без вложенности. Что то со мной не так сегодня.

N0rda_a Миролюбов
у него все синхронно в том то и дело. он быстреньк...

в случае с синхронным кодом стек тоже не "забьется" и не переполнится (разве что send этого не делает, что вряд ли)

Alexey Pupkin
в случае с синхронным кодом стек тоже не "забьется...

но все равно когда стек опустеет все колбеки от send выполняются же по-порядку. я правильно понял?

N0rda_a Миролюбов
но все равно когда стек опустеет все колбеки от se...

в том примере только колбеки для обработки ошибок. Если говорить о них, то выполнятся они не по порядку конечно же.

Alexey Pupkin
в том примере только колбеки для обработки ошибок....

разве это не тоже самое что и в этом фрагменте из видео? https://youtu.be/bUx8wk4LdoY?t=1848

Alexey Pupkin
что "то же самое"? рекурсивный вызов?

нет. то что выполняются все микротаски которые есть в очереди до конца

N0rda_a Миролюбов
нет. то что выполняются все микротаски которые ест...

если честно, то я плохо разбираюсь в том, что под капотом, но при вызове асинхронных функций в цикле не гарантируется, что колбеки будут вызваны в том же порядке. Иначе зачем тогда придумали await внутри for?

Alexey Pupkin
если честно, то я плохо разбираюсь в том, что под ...

правильно. только await внутри for не то чтобы придумали. просто так как for работает по итерационному протоколу, то в теле цикла можно ждать исполнения промиса.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
How to create an OS in C? what to study?
Linus
18
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Карта сайта