
mr_makss
05.06.2018
01:14:59
Каждый пакет прежде чем взять нужно самому проверить корень пакета и от этого никуда не деться. Как ни крути

Naught
05.06.2018
01:15:48

Sergei
05.06.2018
01:16:37

mr_makss
05.06.2018
01:17:03
Выяснилось, что есть недобросовестные разрабы и их стало очень много. Странно, что выяснилось так поздно...

Google

Naught
05.06.2018
01:17:25
Как будто их могло не быть

Sergei
05.06.2018
01:18:10
Так это человеческий фактор.
Но использование пакетов с большим комюнити сглаживает эти проблемы.

mr_makss
05.06.2018
01:21:02
его стало очень много т.к. все программисты javascript из за происходящего на рынке труда
в итоге: один шаристый пишет. все остальные смотрят и кивают, но js прогеры такого же уровня
Jwt можно использовать.
Кто-нибудь собирал webpack из исходников?

Abu
05.06.2018
01:33:01

mr_makss
05.06.2018
01:33:19
ага

Abu
05.06.2018
01:33:42
Ну я собирал, там же инструкция вроде есть

mr_makss
05.06.2018
01:35:42
Так вот. Недавно только yarn файлы правили после матерков на deep-extend
npm sequrity может сделать весело :))

El
05.06.2018
03:41:23
привет всем! Помогите решить проблему. пишу application, который управляет железом. Сервер общается с железом через node-serialport, сервер и клиент между собой - через socket.io. В общем крутиться все, делаю опросы регистров, все через promises. Все работает, за исключение одной вещи. Когда на железе происходит event, на самом деле железка пишет в регистр значение, которое я постоянно опрашиваю. Так вот при определенном значение какого-то там байта регистра я дают оповещение юзеру window.confirm(message). Юзер выбирает продолжить или завершить работу. Код на сервере такой:

Google

El
05.06.2018
03:42:11
а на клтенте такой:
сервер не ловит ответ клиента. Как решить проблему. Мне нужно именно в функции поймать ответ, чтобы resolve сделать

Yaroslav
05.06.2018
04:37:45

Cenator
05.06.2018
05:15:14
Чем тебе роутер то не угодил

Yaroslav
05.06.2018
05:16:01
Ты смотрел его код?

Cenator
05.06.2018
05:17:53

Yaroslav
05.06.2018
05:18:13
Там нет листенера
Поэтому так рекомендовал

Cenator
05.06.2018
05:18:37
Так const app тогда или server а не router

Yaroslav
05.06.2018
05:18:56
Долго описывать
)

Cenator
05.06.2018
05:19:51
А вообще он экспортирует роутер, так что хз, есть ли там листерен

Sheldhur
05.06.2018
05:26:42
есть несколько асинк функций вызываемых подряд и для каждый ваще насрать на возвращаемый результат, ставить перед каждой await или в Promise.all обернуть?

dexofan
05.06.2018
05:30:09

mr_makss
05.06.2018
05:32:29
Цель функций async/await упросить использование promises синхронно и воспроизвести некоторое действие над группой Promises. Точно так же как Promises подобны структурированным callback-ам, async/await подобна комбинации генераторов и promises.

Sheldhur
05.06.2018
05:32:51

Morsik
05.06.2018
05:33:17

Google

Morsik
05.06.2018
05:33:51
с другой стороны из-за исключения возможно не дождешься выполнения какого-либо из промисов

dexofan
05.06.2018
05:34:04

енот
05.06.2018
05:39:52
промис невозможно провернуть назад

Sheldhur
05.06.2018
05:40:24
Да ладно?

mr_makss
05.06.2018
05:40:26
Если все операции должны выполняться асинхронно, то нужно асинхронно ждать ответов от них и соотвественно дальше в зависимости от ответов делать какие-то действия
Если задача требует связи определенных асинхронных функций, то вероятно следует объеденить их в цепочку
async function dep_test() {
return 0;
}
async function test() {
return 1;
}
dep_test().then(
k => {
test.then(e => { ... });
}
);
все
не забывать про отреджекченый т.к. бывает всякое
цепочку можно записать по другому

Sheldhur
05.06.2018
05:42:08
Facepalm.jpg

mr_makss
05.06.2018
05:43:12
с промисом можно делать все что угодно

arts
05.06.2018
05:46:58

mr_makss
05.06.2018
05:47:05
Не путайте await и Promise.all
Функция add1 приостанавливается на 2 секунды для первого await и еще на 2 для второго. Второй таймер создается только после срабатывания первого. В функции add2 создаются оба и оба же переходят в состояние await. В результате функция add2 завершится скорее через две, чем через четыре секунды, поскольку таймеры работают одновременно. Однако запускаются они все же не паралелльно, а друг за другом - такая конструкция не означает автоматического использования Promise.all. Если два или более Promise должны разрешаться параллельно, следует использовать Promise.all.
подробнее про это тут хорошо написано
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/async_function

Alex
05.06.2018
05:48:22
А я могу создать какой-нить ограниченный пул воркеров, чтобы не плодить асинхронное выполнение
Что процессор под 100% забивается и крашится всё

Yaroslav
05.06.2018
05:48:28

mr_makss
05.06.2018
05:48:45
realy
но вы можете дополнить пример промисами в определенных строчках кода

Антон
05.06.2018
05:55:21
Для одновременного запуска можно запустить сначала без await. А потом подождать выполнение.

K
05.06.2018
06:00:06

Антон
05.06.2018
06:20:00

mr_makss
05.06.2018
06:27:14
ага и смерджить их в одну

Google

Grigoriy
05.06.2018
06:52:12
While items.length
Ps.push new Promise items.shift
Promise.all Ps then....
Эт все одновременно. Или await вместо пуша если последовательно

Alexander
05.06.2018
06:55:57
Или через reduce
Если нужно последовательно

Grigoriy
05.06.2018
06:56:30
Чтобы набивать по мере готовности понадобится два вайла. А как редюсом?

енот
05.06.2018
06:57:31
как удалить экземпляр класса?

Alexander
05.06.2018
06:58:37
Примерно так

arts
05.06.2018
07:02:13

Alexander
05.06.2018
07:02:47
Ну да

arts
05.06.2018
07:02:52
Нужно их в функции обернуть и вызывать в then

Alexander
05.06.2018
07:03:01
Только вот all последовательность не гарантировал
вроде как

Cenator
05.06.2018
07:03:44

arts
05.06.2018
07:05:02

Alexander
05.06.2018
07:05:50

arts
05.06.2018
07:06:37

Cenator
05.06.2018
07:07:52
https://hackernoon.com/functional-javascript-resolving-promises-sequentially-7aac18c4431e

Alexander
05.06.2018
07:07:57

Google

Cenator
05.06.2018
07:08:10
в ноде можно for await of

Антон
05.06.2018
07:28:38
Порядок не важен же

Alexander
05.06.2018
07:30:43
ну если не важен, то в путь

some_random_anonymous
05.06.2018
08:32:22
https://github.com/upend/IF_MS_BUYS_GITHUB_IMMA_OUT

Casper
05.06.2018
08:32:44

some_random_anonymous
05.06.2018
08:34:22

Gats
05.06.2018
08:38:33
Подскажите, где на фронте я могу увидеть данные которые отправляются через res.send(data) ?

Grigorii
05.06.2018
08:39:19
res.render, res.json и т.д. тот же res.send по сути

Vlad
05.06.2018
08:39:55

Yaroslav
05.06.2018
08:40:33

Grigorii
05.06.2018
08:51:50
Хм, видимо, я не так понял вопрос?

Gats
05.06.2018
09:00:55

Grigorii
05.06.2018
09:03:23
Но просто взять и послать с сервера на клиент без long polls или веб-соккетов по просто http нельзя
А ещё, если шлёшь json, то лучше res.json и использовать