Comments 17
Вы можете использовать их сегодня, загрузив unstable версиюВот уж дудки: стабильная версия Node.js обозначается чётностью числа, стоящего после первой точки в номере версии. Стабильная версия будет 0.12 поэтомуnode 0.11 (возможно на данный момент она уже стабильна).
По моему наибольший выигрыш в связке q-промисы+генераторы это как раз централизованная обработка ошибок. Ничего ужасного в первоначальном коде нет, если делать по стандарту отступ в 2 пробела и использовать кофескрипт (поможет убрать кучу скобок), то код становится неплохо читаемым и дополнительные отступы как раз помогают понять что и когда выполняется. Единственное, что очень портит этот код это вставки if(err) throw err; но это можно победить с помощью domain.
Перевод ужасен. Окончания не согласованы, порядок слов непонятный, смысл сильно искажен. Хоть я и не настолько хорошо знаю английский, но оригинал мне понятнее чем этот перевод, хоть он и на родном языке.
А в JS генераторах можно делать вложенные yield-ы? (вроде python3
yield from
)Тема интересная и плохо, на данный момент, раскрытая. Прошло больше месяца с выхода ноды 0.11.2 и появления в ней генераторов, и вот только первая статья на Хабре.
Практически везде, где упоминаются генераторы, примеры приведены на Q. Как бы не получилось как с jQuery — многие без неё с DOM и XHR не справятся, хотя тут проблема может выйти серьезней — часть языка, а не API платформы.
За месяц с генераторами наигрался, но, пока, на практике желания использовать нет — try/catch с асинхронным кодом, конечно, удобно, но за счет оберток страшновато выглядит.
Для программирования в псевдосинхронном стиле сейчас предпочитаю backcall'ы LiveScript, пример.
Практически везде, где упоминаются генераторы, примеры приведены на Q. Как бы не получилось как с jQuery — многие без неё с DOM и XHR не справятся, хотя тут проблема может выйти серьезней — часть языка, а не API платформы.
За месяц с генераторами наигрался, но, пока, на практике желания использовать нет — try/catch с асинхронным кодом, конечно, удобно, но за счет оберток страшновато выглядит.
Для программирования в псевдосинхронном стиле сейчас предпочитаю backcall'ы LiveScript, пример.
С Вашим примером так и до хаскеля недалеко, уж очень синтаксис нестандартный в этом LiveScript. Я так понял, что восклицательный знак как то обозначает асинхронную операцию.
Так то это и есть форк кофе, вдохновленный хаскелем, см. оффсайт, там много вкусного:) Нет, восклицательный знак — просто предотвращение автоматического подставления return, можно было и без него обойтись.
Вопрос несколько оффтопный, но всё же: какой источник информации по нововведениям в JS со времён ECMAScript 5 посоветуете? А то как раз сейчас занимаюсь изучением JS, и становится очень заметно, как далеко ушёл прогресс за те два с лишним года, что прошли с момента выхода как самого стандарта, так и наиболее заметных учебных пособий типа Javascript Definitive Guide.
Черновик спецификации ECMAScript 6 в html
Последний, в pdf
Harmony
Strawman
Нужны статьи? Поиск по Хабру, по соответствующим ключевым словам, хватает. тык, тык, тык, тык.
Тематические блоги. Часто ссылки на интересные статьи приходят по этой рассылке.
Последний, в pdf
Harmony
Strawman
Нужны статьи? Поиск по Хабру, по соответствующим ключевым словам, хватает. тык, тык, тык, тык.
Тематические блоги. Часто ссылки на интересные статьи приходят по этой рассылке.
Ну так черновик следующей версии спецификации — ECMAScript 6 draft, список нововведений, список предложений новых фич
Есть реализация Promise для ActionScript3, упрощает работу с сервисами и с sqlite в асинхронном режиме в Adobe Air.
Однако, иногда нужно обрабатывать ошибки отдельно для каждого элемента цепочки, тогда код может существенно усложниться.
Однако, иногда нужно обрабатывать ошибки отдельно для каждого элемента цепочки, тогда код может существенно усложниться.
Sign up to leave a comment.
Исследуем JavaScript Generators