[Moscow.pm] Стиль асинхронного программирования
Warstone@list.ru
warstone на list.ru
Сб Дек 28 15:10:59 PST 2013
Когда кто-то говорит об асинхронности - всегда появляется машина состояний.
Хорошо если нуден только один коллбек, но если внутри коллбека появляются еще коллбеки, то становится сложно... Не знаю как JS, да и вроде-бы в Перле этого нету, но вот в .Net есть элегантный способ "скрыть" машину состояний через yield return механизм. Я таким образом писал бота для Unity3D игры (там на каждый фреим давали управление, и бот в любом случае - машина состояний). Фактически - паттерн обещаний делает нечто похожее (ну кроме того, что он генерит дофига замыканий, тогда как yield return генерит одно, но большое).
Я себе использование этого механизма представляю так: http://www.elite-games.ru/conference/viewtopic.php?t=59266
Суббота, 28 декабря 2013, 22:42 +01:00 от Stanislaw Pusep <creaktive на gmail.com>:
>Promises pattern: http://12devs.co.uk/articles/promises-an-alternative-way-to-approach-asynchronous-javascript/
>
>суббота, 28 декабря 2013 г. пользователь Михаил Монашёв писал:
>>Здравствуйте.
>>
>>Пытаюсь тут переключить голову с обычного программирования на
>>асинхронное. Голове даётся это сложно.
>>
>>Пишу не на перле, а на ноде, но это не важно. Интересен сам принцип
>>построения кода. Сейчас вот кажется правильным вместо
>>последовательного вызова функций создавать последовательности событий,
>>возникающие по окончании работы функции. А на события вешаются
>>обработчики, аналогичные исходным функциям. Так получается избежать
>>безобразного кода с кучей вложенных друг в друга колбэков. Но может
>>есть подход более правильный?
>>
>>Или может даже более правильный вопрос: как голову переключить на
>>асинхронное программирование?
>>
>>--
>>С уважением,
>> Михаил mailto: postmaster на softsearch.ru
>>
>>--
>>Moscow.pm mailing list
>>moscow-pm на pm.org | http://moscow.pm.org
>--
>Moscow.pm mailing list
>moscow-pm на pm.org | http://moscow.pm.org
--
Nick unnoun
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20131229/a8104657/attachment.html>
Подробная информация о списке рассылки Moscow-pm