Gregory
для прода сейчас не знаю, хорошо или плохо. Смотря какие нагрузки
Vlad
в шестой ноде нативные промисы
Vlad
почему они будут ковертироваться async/await конвертируется в infinite loop?
Gregory
потому что их так конвектирует бейбл
Kanstantsin
..разве не в генератор с промисами? там нету while..
Kanstantsin
если не для 5,6 ноды - функция с while, для node 5,6 - в генератор с промисами транспилится
Denis
Все места на Node.js Meetup были разобраны сегодня утром (меньше чем за сутки), но только что освободилось одно место - успевайте http://www.meetup.com/Moscow-NodeJS-Meetup/events/231141123/
Artur
Gregory
посмотри то во что привращается async/await
Artur
Gregory
while(true) с внутреними switch которые решают что когда делать
Gregory
Я и не говорю
Artur
Неужто babel такое делает О_О
Gregory
что koa что то комплит, koa2 просто в основе юзает async/await
Nikita
это если yield не поддерживается
Nikita
на бэке yield поддерживается уже давным давно
Gregory
какая у тебя нода?
Gregory
не у всех на проде 6, я с 6 еще не пробовал
Nikita
эм, с 4 поддержка норм
Nikita
если не с iojs
Gregory
у меня 4
Gregory
не потдерживается
Gregory
я тестами транслирую код и смотрю что там внутри, и вот там говно редкое
Gregory
Не совсем
Gregory
4.0.2
Artur
А версии обновляю, естественно, по мере выхода.
Artur
Если проект в разработке, разумеется.
Vlad
В 4-ой есть генераторы же, я сам лично использовал
Vlad
А вот async/await есть только в бабеле пока
Gregory
точней еще для него нужен babel-polifill
Nikita
❯ node --version
v4.4.4
❯ cat test.js
'use strict';
function *test() {
yield 1;
}
const result = test();
console.log(result.next());
❯ node test.js
{ value: 1, done: false }
Nikita
ЧЯДНТ?
Gregory
так я и не говорю что нет генераторов
Gregory
я говорю что для async/await они не юзаются
Artur
Gregory
если бы они юзалилсь бы такого бы говня и не было
Artur
Nikita
юзаются, как бы)
Gregory
про TS ни кто не говорит
Artur
Я async/await с прошлой осени юзаю
Artur
Не было проблем.
Vlad
Асинк эвэйт на уровне v8 пока не поддерживаются
Nikita
[require('babel-plugin-transform-async-to-module-method'), {
module: 'bluebird',
method: 'coroutine'
}]
Gregory
Я это и писал
Nikita
вот такое добавь в babelrc
Artur
про TS ни кто не говорит
Ну я и бабелем раньше пользовался, до сих пор некоторые проекты с ним в качестве транспилера.
Gregory
И он приобразовует в несамый производительный код
Artur
Сейчас, кстати, гляну есть там бесконечные циклы
Gregory
Давай
Vlad
Но тут ребята правильно говорили, что co с генераторами ничем принципиально от async await не отличается же
Nikita
и там будет все тот же bluebird.coroutine, только медленнее в пару раз.
Artur
Vlad
Если есть поддержка генераторов в движке — то асинк эвэйт в них можно компилять
Vlad
Если нет — толтко в бесконечный цикл
Nikita
промисы давным давно есть. Однако все нормальные люди используют bluebird на ноде. Или аналог
Nikita
так что ключевое слово - нормальная поддержка
Vlad
Nikita
на бэке?
Vlad
Да
Nikita
и плевать, что они в 2-3 раза медленее bluebird?
Artur
О, да, детка. Рилли while(1)
Vlad
Nikita
и используются посути везде
Nikita
https://github.com/petkaantonov/bluebird/tree/master/benchmark
Artur
Artur
Меня мои аппки с TTFB в 5ms вполне устраивают...
Nikita
эм, ну если это ок, то и while(true) ваще не проблема)
Artur
Хотя есть желание ускорить, но не думаю, что замена нативных промисов на блюбирд мне что-то даст.
Nikita
а тормознутые промисы стал бы?) где логика?
Artur
У меня коллега бывший гоняет полтора млрд запросов на ноде в сутки.
Artur
Но без этих примочек.