Size: a a a

Node.js — русскоговорящее сообщество

2020 February 22

G

Gottfrid Ericsson 🌟 in Node.js — русскоговорящее сообщество
Gottfrid Ericsson 🌟
А вызывать в качестве  модуля как ?
Надо было просто написать название функции
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
ты тот код видел? там данные получаются чанками, как ты его промисфаешь?
Но если очень хочешь, как буду с компа могу тебе написать поток через промисы, но без backpressure.
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Но если очень хочешь, как буду с компа могу тебе написать поток через промисы, но без backpressure.
Просто каждый будет регистрировать следующий
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Но если очень хочешь, как буду с компа могу тебе написать поток через промисы, но без backpressure.
мне не надо, я на ноде использую либу got для запросов.

я просто возмущен обилием антипаттернов на каждый чих. узнать бы весь список
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
мне не надо, я на ноде использую либу got для запросов.

я просто возмущен обилием антипаттернов на каждый чих. узнать бы весь список
Антипаттерны и паттерны это форма программирования не включая мозги. Поскольку обычно желания их включать у людей нет, а работу сделать надо, им и следуют
источник

I

Ivan in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
как раньше — через try catch
вернул его обратно
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Антипаттерны и паттерны это форма программирования не включая мозги. Поскольку обычно желания их включать у людей нет, а работу сделать надо, им и следуют
Если действительно начать разбираться в сути происходящего, то станет понятно, что то что называется паттерном или антипаттерном это само собой разумееющееся нечто
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Конкретно про конструктор промисов правило правой руки звучит так --- промис следует создавать во время вызова функции через удобный для этого интерфейс
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Будь он async await или promisify
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Нигде не должны торчать new Promise, ибо рано или поздно ты забудешь вызвать один из методов
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
И куда лучше, чтобы это за тебя гарантировала машина
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Нигде не должны торчать new Promise, ибо рано или поздно ты забудешь вызвать один из методов
И получишь утечку памяти
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Или молчаливое проглатывание ошибок и сложный для дебага inconsistent state
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Продолжая действовать этим антипаттерном ты тратишь внимание и силы на ловлю этого дерьма, когда по хорошему нужно заниматься логикой приложения
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
А не повторением пути война по граблям в мельчайших деталях
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
К слову в модуле events есть экспортируемая функция once
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Она принимает название события и поток (!)
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
И возвращает промис который разрешится в значение payload этого события когда оно первый раз произойдет
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Ivan
exports.json = (url) => {
 return new Promise((resolve, reject) => {
   https.get(url, (res) => {
     let data = '';
     res.on('data', (chunk) => { data += chunk; });
     res.on('end', () => {
       resolve(JSON.parse(data,"utf8"));
     });
   }).on('error', (e) => {
     reject(e.message);
   })
 });
}
вот теперь ловится
Не это поведение ли тут костылируется?
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Так вот, господа, явный конструктор промисов --- антипаттерн :)
источник