Sergey
круто!
Sergey
наверное добавлю prepack к проекту
Vladimir
Да не надо
Дима
ну даж я не рискнул 😅
Sergey
там совсем плохо?
Дима
Ну без массивов грустно)
Ilia
Если это костыль и тебе нужна многопоточность в ноде, то ты точно свернул не туда
Я ж написал - из спортивного интереса. Я сюда не потроллить зашел, просто поинтересовался.
Дима
Ну что считать опасными
Всё то, что делает uglify, closure compiler и babili при соответствующей опции. Она есть просто потому, что эти продукты шли по очевидному пути — сделать очень крутой оптимизатор, выпиливающий вообще всё (список плагинов babili довольно подробно это поясняет), а потом уговаривать этот оптимизатор не кромсать process.env
Vladimir
Ну очевидно, что (1 + 2) можно заменять на 3
Дима
Нет
Sergey
почему?
Дима
В жс можно переопределять реакцию объектов на функцию сложения
Vladimir
Нельзя
Дима
Типа сайд-эффектов бахнуть
Дима
Не переопределять сложение
Дима
Я не про сам оператор
Vladimir
Я знаю, про что ты
Vladimir
Но 1 + 2 можно заменить на 3
Vladimir
И много чего еще не имеет потенциальных сайд эффектов
First
всем привет. я сам фронт, мимикрокодил, есть вопрос к спецам ноды, по вебсокетам: почему onopen отрабатывает, а onmessage нет? вот фронтенд: const socket = new WebSocket('ws://localhost:8091') socket.onopen = e => { console.log('on open'); console.log(e); } socket.onmessage = event => { console.log('on message'); console.log(event); } а вот серверная реализация https://github.com/mindmind/rtlservice-frontend-task/blob/master/index.js —- не работал до этого с сокетами, заранее извиняюсь, если вопрос глупый
Sergey
И аналогично для сообщений
First
socket.on is not a function говорит =\
Sergey
А почему библиотеку не использовать?
First
ну у него действительно нет метода on
Sergey
addEventListener?
First
А почему библиотеку не использовать?
какую? хочется с нативным API разобраться для начала
Sergey
Socket.io
First
мне кажется, вы меня не поняли :) у меня не работает фронтенд, мне не нужно трогать серверный код
Ilya
#whois привет всем, я фронтенд-самоучка, хочу познать дзен фуллстек разработки на JS
Sergey
Давно я не трогал нативные сокеты
Sergey
Прошу прощения
Sergey
https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
Sergey
Внизу пример
Sergey
addEventListener?
Вот с этим
First
Вот с этим
а вот так заработало! спасибо огромное
First
да, надо было с нее и начать. я вот тут смотрел https://learn.javascript.ru/websockets
Zaur
ребят, а подскажите, вот такая конструкция: prototype.runTasks = function(tasks) { if (!tasks.length) { console.log('complete') return Promise.resolve(); } var self = this; return tasks.shift() .then(function() { return self.runTasks(tasks); }) }; не приведет к переполнению стека вызовов?
Smooth Operator
нет?
Таймураз
@ZeroBias @vkurchatkin @sergeysova вещь эта с точки зрения реализации интересная, но на практике сейчас неприменимая)
Zaur
Выглядит страшно. Можно проще написать
Как? я хочу выполнить массив промисей, так, чтобы ошибка в одном не приводила к остановке остальных(понятно что в коде выше надо слушать catch для этого)
Sergey
одновременно выполнить можно?
Sergey
или нужно подряд?
Zaur
одновременно выполнить можно?
да, но не обязательно
Zaur
ооо, обнаружил сейчас что комбинация клавиш Ctrl + C приводит к переходу к следующей строке в поле ввода сообщения в десктоп приложении Telegram :) сразу видно программисты для себя писали клиента. Удобнее чем Ctrl + Enter
Sergey
Shift+Enter
Sergey
кстати да, ctrl+C удобнее не отправишь случайно
Zaur
Shift+Enter
это приходится две руки задействовать) Ctrl+С удобнее и привычнее Linux пользователям
Таймураз
ты о чем?
Об их споре, просто ты тоже участвовал
Konstantin
они только о себе думали))
Zaur
они только о себе думали))
ох уж эти пингвины )) на маке работает
Zaur
Нук, а Ctrl+Ins, интересно ?
у меня такой клавиши нет
Чурка
А... Можно жить без Инсерта ?
Sergey
да, но не обязательно
у тебя в массиве сразу список промисов лежит?
Sergey
да
тогда проблема
Sergey
уже сталкивался с таким решением)
Чурка
Копирование\вставка православной правой рукой.
Zaur
Zaur
уже сталкивался с таким решением)
т.е. мой пример подойдет?
Konstantin
Нук, а Ctrl+Ins, интересно ?
с шифтом работает, но Ins ещё неудобнее чем Enter
Sergey
т.е. мой пример подойдет?
Нет. Все равно с ошибкой упадет в консоль
Zaur
Нет. Все равно с ошибкой упадет в консоль
погоди, если я добавлю обработку catch и там запущу вновь runTask ? должно же быть нормально
Sergey
Нужен массив функций которые возращают промисы, а не массив промисов
Zaur
вот так разве упадет: prototype.runTasks = function(tasks) { if (!tasks.length) { console.log('complete') return Promise.resolve(); } var self = this; return tasks.shift() .then(function() { return self.runTasks(tasks); }) .catch(function() { return self.runTasks(tasks); }) }; ?
Sergey