ℝei
вот у этого типа есть вроде
Nikita
JSON.parse(JSON.stringfiy(obj))
ℝei
ну или лодаш возьми оттуда один метод)
ℝei
JSON.parse(JSON.stringfiy(obj))
у этого есть какие-то сайдэффекты о которых я забыл 😆
Nikita
если обьект данные, то проблем не должно быть
Nikita
http://jsben.ch/bWfk9
ixplo
не копирование же
бло сек: const o1 = {a: 1}; const o2 = {...o1}; o2.a = 'лох'; console.log(o1.a); //1
Nikita
но по-моему тест дерьмо
Nikita
но если ты сделаешь вложенный обьект
Nikita
то вложенный обьект не скопируется
ixplo
и вложенный ок прошло
ixplo
0_0
ixplo
ща
ixplo
а не
ixplo
да, внутрянка остаётся связанной
ixplo
накосячил во втором тесте )
Nikita
я уже хотел тебя хуями покрыть
ℝei
функции выпиливает итд )
да вроде функции
Nikita
Object.assign вызывает сетторы, спред оператор не вызывает.
ixplo
и ещё кучу всего, что мне не надо
Nikita
мне из-за этого Object.assign и впечатлил, как бы сказать, если ты не хочешь создавать новый обьект, а обновить значения у старого, то это лучше, чем спред.
Andriy
Ребята, такой вопрос. Могу ли я с помощью Socket.io оправлять сообщения на клиент прямо из своего кода? Тоесть мне нужно не из скрипта который крутится все время и слушает (тот который запускает сервак), а из обычного скрипта, из контроллера например отправить сообщение через сокет.
Nikita
ну сделай себе рест поинт
Nikita
который будет принимать запросы
Andriy
который будет принимать запросы
Тоесть мне полюбому надо какой-то скрипт, который будет крутится в фоне?
Nikita
а каким образом ты собираешься посылать через левый скрипт сообщение клиенту через сокеты?
Nikita
ты же понимаешь как это работает? Весит сервер, держит на себе клиенты, но клиенты для этого к нему должны постучаться.
Andriy
а каким образом ты собираешься посылать через левый скрипт сообщение клиенту через сокеты?
Мне просто нужно в определенный момент посылать сообщение юзеру, чтобы не делать длинные опросы
Nikita
такую херь можно попробовать сделать через веб пуши
Nikita
которые работают в сервис воркерах
Nikita
с сокетами такое не сделать, ибо эта 2 стороняя связь со стороны клиента. Как ты себе представляешь отправку сообщения в определенный момент времени, если нету сервера?
Andriy
ты же понимаешь как это работает? Весит сервер, держит на себе клиенты, но клиенты для этого к нему должны постучаться.
Я использовал Laravel, и там Это реализовывалось следующим образом. Если мне нужно было послать прямо из кода какое-то сообщение в клиент, то я делал Redis publish из под PHP а в Node подписывался как Redis subscribe уже делал socket.emit с данными которые приходили через канал Redis
Nikita
тогда, я тебя не понимаю.
Andriy
Только вот я говорю о том, чтобы мне посылать сообщения не из под index.js к примеру, который запускает сервер, а из других скриптов, которые отрабатывают и умирают
Andriy
К пример контроллеров
Andriy
Из под контроллера послать сообщение в клиент
Nikita
но контроллеры же как раз и реализуются в твоем сервере, нет?
Nikita
index.js и есть сервер, разве нет?
Nikita
сделай такую же херь в твоей ноде и редисом
Nikita
подпиши его слушать событие, а потом через левый скрипт вызывай событие в редисе
Nikita
сделать рест поинт в твоем сервере, лол
Nikita
твой сервер должен что-то слушать в конечном итоге.
Nikita
и в данной ситуции каналом связи у тебя служит redis, а ты можешь сделать rest point вместо него
Andriy
rest point - это скрипт, который будет слушать?
Nikita
Ты умеешь в редис, но не понимаешь, что такое рест поинт?
Nikita
ты поднимаешь http сервер, создаешь в ней роут post /listener/
Nikita
и посылаешь через http запросы на этот роут
Nikita
вот тебе и рест поинт
Nikita
сорь, api поинт
Andriy
ну бля
Andriy
так бы сразу)
Nikita
т.е. апи поинт ты понял слово?
Andriy
да
ℝei
endpoint мб?))
Nikita
endpoint мб?))
оо! точно
Nikita
бля, как я забыл )
Nikita
ну все же я фронт, а не бекендер
Andriy
ты поднимаешь http сервер, создаешь в ней роут post /listener/
Всмысле посылаю http запросы? Мне не нужен ендпоинт. Как можно без него обойтись?
Nikita
Нет, не обойтись, ты не можешь вмешаться в исполнение программы сбоку.
Andriy
Andriy
Я так понял что через redis - это норм решение
Nikita
это вообще vue чат
Nikita
ты не забыл
ℝei
вебсокеты разве не для этого? там нет эндпоинтов там же тунель и события
Nikita
вебсокеты разве не для этого? там нет эндпоинтов там же тунель и события
он хочет эмитить событие в вебсокеты через левый скрипт который не относится к серверу
ℝei
лол
Nikita
у него была сделана система через редис, я ему предложил мыло, ему не захотелось менять с шила на мыло
ℝei
ты вроде тыкал кли новый?
Nikita
в другом чате всякие тыкали, я поставил, норм, но пока не рискую глубже погружаться
ℝei
норм то норм. упростили установку сильно. но конфиги все спрятали
Nikita
ты типо хочешь мнением подделиться? Но не знаешь с кем?