Цитата:
Цитата:
Но некоторые вещи, например потоки ввода / вывода, лучше всего делать именно на колбеках. Цитата:
Почему, чтобы сделать простой статик-сервер я должен гуглить сторонний модуль, половина из который не работает без Express - бред. В STD должны быть основные вещи, а модули должны расширять функционал, но в ноде это доведено до идиотизма, что на чистом STD писать просто анриал. |
kobezzza,
Цитата:
Цитата:
|
Цитата:
|
kobezzza,
это было бы круто, но, как ты и сам понимаешь, многое осложняется тем, что тот же ES6 ещё изменяется, не говоря уже о ES7, по этому "самодельничать" нужно осторожно. |
Цитата:
Почему нельзя было пойти путем PhantomJS, т.е. взять не голый V8, а chromium (в мечтах: Servo + SpiderMonkey :) ). После этого добавить необходимые для серверных задач вещи: стандартный http статик-сервер, поддержку блобов в post запросах, работа с куками и т.д. Только вдумайся: mime-типы и таблица HTTP кодов - это 2 сторонних модуля, кто это проектировал Оо Или они считают, что это не нужно... |
kobezzza,
согласен. + если мы говорим о Ноде, то было бы не плохо, чтобы они плотнее взаимодействовали с сообществом. |
Цитата:
|
Цитата:
|
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 с помощью полифилов) |
А ты уверен в терминологии?
В 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 не обладает никакой асинхронностью, это просто точка выхода, тут опять все завязано на промисах |
Часовой пояс GMT +3, время: 16:02. |