Pull to refresh

Comments 21

Ура, спасибо!
Я всю неделю ленился про это написать.
От себя добавлю:
-появились Typed Arrays, Map, Set, WeakMap
-добавилась полновесная поддержка символов
-есть итераторы for..of
-добавились es6-свойства и методы в Math

И еще много мелочей.
Что, впрочем, не компенсирует отсутствие генераторов.
UFO just landed and posted this here
node.js R.I.P

Ну это как сказать. Релиз io.js может подстегнуть развитие node. Но может привести и к его гибели, как вы написали. Но сейчас ещё рано прогнозировать, какой из этих сценариев будет развиваться. Поживём увидим.
Сейчас в Node JS всё стабильно. Вот зачем они раскачивают лодку? Креаклам не терпится, понимаешь ли, хотят изменений!
Пинают в сторону всяких там испорченных свободой Chrome с их поддержкой ES6 и promises.
У Node свой путь… особенный.
Честно говоря я не вижу причин не использовать промисы, причем нативные. Было бы очень хорошо, если бы все существующее апи переписали бы на промисы, а старое с коллбэками объявили бы депрекэйтед. Понятное дело что за неделю или год от всего старого кода не избавиться, но если этот процесс не начать, то коллбэки останутся навечно, а это очевидно тупиковый путь.
Комментатор выше явно забыл добавить тег sarcasm.
К промисам я думаю nodejs рано или поздно придет, пока можно пользоваться например bluebird.
К сожалению, горячей замены Promises/A+ на нативные Promises не получится из-за различий в апи.
А если использовать их в одной цепочке то возникают проблемы с обработкой ошибок — Promises/A+ требуют вызова .done(), в то время как у нативных такого нет.

Другими словами, если вы используете bluebird, то придется им пользоваться до конца.
Чего, простите, done в Promises/A+? Интересно, а почему у меня нативные все тесты A+ тогда проходят? :)
То что нативные проходят тесты a+, не говорит о том что в обратную сторону тоже сработает.

.done есть в вышеупомянутом bluebird, смотреть в секции Error handling
Тот же метод есть в других популярных библиотеках, например Q — promise.done

По факту он является стандартом, это способ не остаться с пустым экраном при необработанном исключении. Нативные же промисы проектируются так, чтобы обойтись него.
По факту, стандартом в A+ является только метод then, а остальные уже фантазия разработчиков конкретной реализации. Кстати, io.js сейчас внедряет обработку необработанных исключений. И это грозится стать стандартом, но пока только предложение. А вообще, как по мне, подобные проблемы могут возникнуть только при плохом проектирования системы.
использовать более не поддерживаемые libuv и v8 (со всеми прилагающимися старыми багами) — это «стабильно»?
На iojs все новое, не компилиться ни один нативный модуль.
большая часть уже давно отлично компилится. а те, что не компилятся, точно так же поломаны на ноде 0.12
Да, Вы правы. Убрал лишнее слово :)
Зря, все там было правильно в некотором смысле. 0.12 — это первая стабильная версия со времен 0.10 (читай — мажорная). У ноды четные версии стабильны, нечетные — экспериментальные.
Я стараюсь придерживаться semver, а тут сам допустил ошибку в именовании версии. Так что считаю и замечание, и правку оправданными.
Забавные имена функций cork/uncork для включения отключения буферизации :)
В момент написания коммента — request Does not work with Node v0.12.x
Sign up to leave a comment.

Articles