10.01.2015, 21:12
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Ну, как мне кажется, кобеззза имел в виду не столько уязвимости и бажность, сколько кривизну АПИ.
|
Баги тоже есть, например уже 100 лет висит тикет, о багах в файл вотчерах под виндой, но воз и ныне там.
Цитата:
|
На мой взгляд, лучше бы они сделали асинхронную работу с помощью промисов, а не обычных коллбэков.
|
Нафиг промисы, если в ES7 есть (да и сейчас на генераторах тоже) фьючерсы, т.к. промисы - это теже колбеки с своими проблемами, но в профиль.
Но некоторые вещи, например потоки ввода / вывода, лучше всего делать именно на колбеках.
Цитата:
|
Тоже был расстроен отсутствием канваса.
|
Это только один пример, а почему нет стандартного нативного DOM парсера, почему нет поддержки веб-сокетов и т.д.
Почему, чтобы сделать простой статик-сервер я должен гуглить сторонний модуль, половина из который не работает без Express - бред.
В STD должны быть основные вещи, а модули должны расширять функционал, но в ноде это доведено до идиотизма, что на чистом STD писать просто анриал.
Последний раз редактировалось kobezzza, 10.01.2015 в 21:23.
|
|
10.01.2015, 21:20
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
Цитата:
|
Баги тоже есть, например уже 100 лет висит тикет, о багах в файл вотчерах под виндой, но воз и ныне там.
|
А я то думал, что оно у меня как-то странно работало)
Цитата:
|
Нафиг промисы, если в ES7 есть (да и сейчас на генераторах тоже) фьючерсы, т.к. промисы - это теже колбеки с своими проблемами, но в профиль.
|
Ок. Просто я к тому, что эту, казалось бы, стабильную в плане API часть так же было бы не плохо улучшить.
|
|
10.01.2015, 21:25
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Ок. Просто я к тому, что эту, казалось бы, стабильную в плане API часть так же было бы не плохо улучшить.
|
Согласен. По хорошему нужно сесть и написать спеку для Ноды, где все как следует обдумать.
|
|
10.01.2015, 21:31
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
это было бы круто, но, как ты и сам понимаешь, многое осложняется тем, что тот же ES6 ещё изменяется, не говоря уже о ES7, по этому "самодельничать" нужно осторожно.
|
|
10.01.2015, 21:39
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от Safort
|
kobezzza,
это было бы круто, но, как ты и сам понимаешь, многое осложняется тем, что тот же ES6 ещё изменяется, не говоря уже о ES7, по этому "самодельничать" нужно осторожно.
|
Ну, для начала можно интегрировать ES6 модули, т.к. они уже получили статус готовности, затем заимлементить частично HTML5: canvas, worker, dom и т.д.
Почему нельзя было пойти путем PhantomJS, т.е. взять не голый V8, а chromium (в мечтах: Servo + SpiderMonkey ).
После этого добавить необходимые для серверных задач вещи: стандартный http статик-сервер, поддержку блобов в post запросах, работа с куками и т.д.
Только вдумайся: mime-типы и таблица HTTP кодов - это 2 сторонних модуля, кто это проектировал Оо Или они считают, что это не нужно...
Последний раз редактировалось kobezzza, 10.01.2015 в 21:43.
|
|
10.01.2015, 22:08
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
согласен. + если мы говорим о Ноде, то было бы не плохо, чтобы они плотнее взаимодействовали с сообществом.
|
|
10.01.2015, 23:23
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от kobezzza
|
в ES7 есть фьючерсы
|
Ссылку можно?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
10.01.2015, 23:44
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от Gozar
|
Ссылку можно?
|
+1 Только хотел попросить ссылку
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
11.01.2015, 00:08
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
https://github.com/lukehoban/ecmascr...nd-parallelism
async function getData() {
var items = await fetchAsync('http://example.com/users');
// Внутри async асинхронные операции похожи на синхронные,
// поэтому можно юзать try-catch для отлова исключений
console.log(items);
}
Такой подход оч удобен и используется во многих языках, например С# или Go.
Юзать уже можно сейчас (но на свой страх и риск, т.к. стандарт может поменяться в любой момент), т.к. подобных механизм делается на основе генераторов, а 6to5 поддерживает эту фичу.
http://6to5.org/repl/
А можно юзать co (поддерживается вплоть до ES5 с помощью полифилов)
Последний раз редактировалось kobezzza, 11.01.2015 в 00:23.
|
|
11.01.2015, 00:24
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
А ты уверен в терминологии?
В Python и C# Futures используется для параллельного запуска задач, мне кажется больше похоже на Promises (если не брать во внимание многопоточность), даже не так: Promises частный случай Futures получается.
async-await в ES7 это реализация на уровне языка следующей конструкции:
co(function * () {
var result = yield request();
result… //здесь можно использовать result;
});
подробнее про принцип работы co
будет:
async function () {
var result = await request();
result… //здесь можно использовать result;
}
await всегда ждет promise, сам yield не обладает никакой асинхронностью, это просто точка выхода, тут опять все завязано на промисах
|
|
|
|