Re[3]: В написании линейного кода, который прерывается сетью
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.08.25 17:58
Оценка: 6 (1)
Здравствуйте, Dair, Вы писали:

D>А в чём принципиальное отличие от async/await?


Я читал что оно есть, но похоже так толком и не понял в чем (не смогу "объяснить шестилетнему ребенку").

Насколько я понял, async/await — это частный случай короутин, который легко понять и использовать.
В случае async/await "вложенность" ожидания идет по вызовам. В этом случае код получается практически линейным, легким для понимая (и в то же время не-блокирующий, т.е. асинхронный)

В случае же ко-роутин вложенность может быть любая, или ее вообще может не быть. То есть, насколько я, опять же, понимаю,
это вообще может быть линейный код, без вызовов функций, с исполнением просто прыгающим из одного места в другое.
Или две функции могут исполняться "параллельно" с исполнением перепрыгивающим из одной в другую.

Генераторы — это калька того что есть в других языках, это не о том.

Найти статью показывающую "на пальцах" преимущество ко-роутин перед "банальным" async/await у меня не получилось.
Было бы интересно если бы кто пояснил в чем их крутость на простом примере (желательно без кода)
Отредактировано 26.08.2025 6:44 bnk . Предыдущая версия . Еще …
Отредактировано 25.08.2025 18:16 bnk . Предыдущая версия .
Отредактировано 25.08.2025 18:13 bnk . Предыдущая версия .
Отредактировано 25.08.2025 18:08 bnk . Предыдущая версия .
Отредактировано 25.08.2025 18:03 bnk . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.