Comments 21
Ура, спасибо!
Я всю неделю ленился про это написать.
От себя добавлю:
-появились Typed Arrays, Map, Set, WeakMap
-добавилась полновесная поддержка символов
-есть итераторы for..of
-добавились es6-свойства и методы в Math
И еще много мелочей.
Что, впрочем, не компенсирует отсутствие генераторов.
Я всю неделю ленился про это написать.
От себя добавлю:
-появились Typed Arrays, Map, Set, WeakMap
-добавилась полновесная поддержка символов
-есть итераторы for..of
-добавились es6-свойства и методы в Math
И еще много мелочей.
Что, впрочем, не компенсирует отсутствие генераторов.
Сейчас в Node JS всё стабильно. Вот зачем они раскачивают лодку? Креаклам не терпится, понимаешь ли, хотят изменений!
Пинают в сторону всяких там испорченных свободой Chrome с их поддержкой ES6 и promises.
У Node свой путь… особенный.
Пинают в сторону всяких там испорченных свободой Chrome с их поддержкой ES6 и promises.
У Node свой путь… особенный.
Честно говоря я не вижу причин не использовать промисы, причем нативные. Было бы очень хорошо, если бы все существующее апи переписали бы на промисы, а старое с коллбэками объявили бы депрекэйтед. Понятное дело что за неделю или год от всего старого кода не избавиться, но если этот процесс не начать, то коллбэки останутся навечно, а это очевидно тупиковый путь.
К сожалению, горячей замены Promises/A+ на нативные Promises не получится из-за различий в апи.
А если использовать их в одной цепочке то возникают проблемы с обработкой ошибок — Promises/A+ требуют вызова
Другими словами, если вы используете bluebird, то придется им пользоваться до конца.
А если использовать их в одной цепочке то возникают проблемы с обработкой ошибок — Promises/A+ требуют вызова
.done()
, в то время как у нативных такого нет.Другими словами, если вы используете bluebird, то придется им пользоваться до конца.
Чего, простите,
done
в Promises/A+? Интересно, а почему у меня нативные все тесты A+ тогда проходят? :)То что нативные проходят тесты a+, не говорит о том что в обратную сторону тоже сработает.
Тот же метод есть в других популярных библиотеках, например Q — promise.done
По факту он является стандартом, это способ не остаться с пустым экраном при необработанном исключении. Нативные же промисы проектируются так, чтобы обойтись него.
.done
есть в вышеупомянутом bluebird, смотреть в секции Error handlingТот же метод есть в других популярных библиотеках, например Q — promise.done
По факту он является стандартом, это способ не остаться с пустым экраном при необработанном исключении. Нативные же промисы проектируются так, чтобы обойтись него.
По факту, стандартом в A+ является только метод
then
, а остальные уже фантазия разработчиков конкретной реализации. Кстати, io.js сейчас внедряет обработку необработанных исключений. И это грозится стать стандартом, но пока только предложение. А вообще, как по мне, подобные проблемы могут возникнуть только при плохом проектирования системы.использовать более не поддерживаемые libuv и v8 (со всеми прилагающимися старыми багами) — это «стабильно»?
0.12 — мажорная версия?
Да, Вы правы. Убрал лишнее слово :)
Зря, все там было правильно в некотором смысле. 0.12 — это первая стабильная версия со времен 0.10 (читай — мажорная). У ноды четные версии стабильны, нечетные — экспериментальные.
Забавные имена функций cork/uncork для включения отключения буферизации :)
Sign up to leave a comment.
Node v0.12.0