@nodejs_ru

Страница 2615 из 2748
Анатолий
29.09.2018
10:32:52
можно еще коллбеков накидать
asyncForEach колбек и использует :)

Alexander
29.09.2018
10:32:54
Анатолий
29.09.2018
10:32:56
Это лучший код эвар!

Vitaly
29.09.2018
10:33:02
Google
Alexander
29.09.2018
10:33:25
asyncForEach колбек и использует :)
Ну тогда он идеален

Анатолий
29.09.2018
10:33:31
причём не просто колбек, асинхронный колбек!

10 из 10

Vitaly
29.09.2018
10:33:44


Анатолий
29.09.2018
10:33:51
Ну ладно, совсем загнобили )

Анатолий
29.09.2018
10:34:29
Давайте хоть перепишем код парню, чтоб не просто ругаться :)

Vitaly
29.09.2018
10:34:29
тут это называется критика(с)

Анатолий
29.09.2018
10:34:40
разочек

Vitaly
29.09.2018
10:35:10
можно, но со скриншота переписывать не комильфо

Анатолий
29.09.2018
10:35:16
Ну тогда подождём самого кода

Alexander
29.09.2018
10:35:22
Давайте хоть перепишем код парню, чтоб не просто ругаться :)
Зачем? Можно же просто орнуть всем вместе

Google
Анатолий
29.09.2018
10:36:39
Брать чужие куски говнокода, делать конфетку и обтекать с того, как хорошо получилось

Анатолий
29.09.2018
10:37:37
Я первый шаг пропускаю обычно)
Можно ещё вместо чужих брать свои, но тогда это банальный рефакторинг :)

Знаешь там, взять старый проект и все промисы переписать на асинки

ммм, йамми

фап фап

Nikolay
29.09.2018
10:38:23
Хы, асинки ради асинков :)

Сергей
29.09.2018
10:40:26
тот момент, когда человек не понимает сути промисов и асинков

.then(async это конечно божественно

Nikolay
29.09.2018
11:02:01
Ivan
29.09.2018
11:03:53
Дело в том что получение записи асинхронно, отправка тоже асинхронна и удаление асинхронно

http://jsfiddle.net/#&togetherjs=DQrBg7Oe3S

Покажите как правильно

Vitaly
29.09.2018
11:07:38


Ivan
29.09.2018
11:07:39
Я буду только признателен

Ты не поверишь, но это только так работает

Dika
29.09.2018
11:08:27
.then(async это конечно божественно
И чем .then(async плох? Например, здесь: getPromise() .catch(tap(console.error)) .then(async x => { const a = await doFirst(x) const b = await doSecond(a) return String(b) })

Сергей
29.09.2018
11:08:53
во вторых там он вообще не нужен

Google
Dika
29.09.2018
11:09:14
во вторых там он вообще не нужен
ну именно в том случае да

Ivan
29.09.2018
11:09:49
Dika
29.09.2018
11:10:13
А какой смысл если это очень красиво и без асинка будет
это пример, в async функции можно сделать и более сложную логику

Nikita
29.09.2018
11:10:25
А почему просто все на асинке не построить

зачем там .then вообще тогда

Сергей
29.09.2018
11:10:38
напиши что ты получить хочешь

Nikita
29.09.2018
11:10:41
Сергей
29.09.2018
11:10:45
Dika
29.09.2018
11:11:07
да
это будет менее красиво

Сергей
29.09.2018
11:11:30
бля

Ivan
29.09.2018
11:11:32
напиши что ты получить хочешь
по очередная обработка(функция createMessage), отправка(sendemail) и удаление записи(при помощи рест запроса)

Сергей
29.09.2018
11:11:34
ну перепиши на .then

не надо делать говно из смеси

разбей на функции и т.д.

Nikita
29.09.2018
11:11:48
Это будет более красиво, но если тебе так не нравится трайкеч - можно сделать await somePromise().catch(handleError) await otherPromise().catch(handleError)

Так можно и разные хендлеры нацепить чтоб более вариативно обрабатывать

Google
Vitaly
29.09.2018
11:12:40


почему ты сделал и обычный коллбек и await?

Ivan
29.09.2018
11:13:18
Мы ожидаем пока не отправится сообщение

Vitaly
29.09.2018
11:13:28
так ты мог после отправки и обработать сообщение

а не внутри коллбека

response = await smtpTransport.sendMail(createMessage()); ...

Dika
29.09.2018
11:14:09
разбей на функции и т.д.
async function process (x) { const a = await doFirst(x) const b = await doSecond(a) return String(b) } getPromise() .catch(tap(console.error)) .then(process) Можно .then(async вынести в другую функцию, да, согласен

Vitaly
29.09.2018
11:14:19
ну и error это try/catch в данном случае

Сергей
29.09.2018
11:14:34


здесь у всех функций максимально кривое api

Ivan
29.09.2018
11:15:44
хм, сейчас попробую

Сергей
29.09.2018
11:16:20
но опять же, если getRecord или sendMailMessage выбросит ошибку, цикл прервется

и здесь цикл будет последовательным

Kelin
29.09.2018
11:16:42
Люди, видимо, не понимают, для чего сделали асинки

И пихают их везде, говоря, что так лучше

Vitaly
29.09.2018
11:17:58
ну и это можно как-то так переделать, сильно не увлекался ``` async function sendMailMessage(message, uri) { const smtpTransport = mailer.createTransport(authMail); try { const sendResponse = await smtpTransport.sendMail(createMessage(message)); console.log("Message sent"); } catch (error) { console.error(error); } const deleteResponse = await requestify.delete(uri, authRest); deleteResponse.getBody(); console.log("Delete in Service Manager message") smtpTransport.close(); } ``` это если "дословно"

Сергей
29.09.2018
11:17:59
и асинки и явные промисы имеют минусы и плюсы их можно использовать в одном проекте но не надо смешивать их в пределах одной функции

не надо юзать везде let, если не меняешь значение переменной

Ivan
29.09.2018
11:19:02
не надо юзать везде let, если не меняешь значение переменной
так Let в области видимости блока только доступен же

Google
Сергей
29.09.2018
11:19:18
бля, хватит изучать кусок жс, а

то недоизучили async/await теперь уж не знают о let/const

Alexander
29.09.2018
11:20:03
может @js_noobs_ru?

Ivan
29.09.2018
11:20:22
Вот как хорошо было в ES5

var

Kelin
29.09.2018
11:20:32
Бля

Вот как хорошо было в ES5
И без промисов, коллбек хелл

Triple
29.09.2018
11:21:16
ребят, есть ли бест практис для масштабируемого REST API на node.js без express\fastify...etc?

Ramil
29.09.2018
11:21:37
Чё с орм на ноде?

Созрело для продакшна?

Triple
29.09.2018
11:22:50
ок, без фреймворков, на чистом http.createServer))

Сергей
29.09.2018
11:23:11

Страница 2615 из 2748