Eldar
Что-бы нужный домен вел на 127.0.0.1 внутри сервака
Eldar
Давай Теннант, прояви чудеса смекалочки
Varyen
подскажите плз, websockets/ws можно расшарить между нодами если я свое веб-приложение хочу запустить как кластер? Сходу ничего не нашел, только про socket.io
Nikita
Что-бы нужный домен вел на 127.0.0.1 внутри сервака
в общем какая та лажа, я не понимаю. Мой основной домен норм работает, а это не хочет. Причем у меня уже есть поддомен api.site.com и он тоже норм работает
Eldar
Ну хз, значит ты что-то делаешь не так
Eldar
В общем-то группа астральной помощи бессильна
Nikita
да, я понимаю, но все равно спасибо
A
Привет, кто-нибудь писал бота для telegram? Скиньт, пожлауйста, пример sendMediaGroup если он у вас есть. Спасибо!
🦜
может прав не хватает на чтение7
Yurii
может вы в разные базы смотрите или реальное соединение не создается. Так как по умолчанию mongoose работает с буфером до того времени, пока не придет собитые open на mongoose.connections.on('open', () => ... );
Alexander
Schema верная ?
Yurii
а действительно, надо же new mongoose.Schema
Илья | 😶☮️🐸
Здравствуйте, товарищи разработчики. Назрел такой вопрос: имеется функция в приложении, внутри которой, в цикле, выполненяется код через промис. Возможно ли как-то при выполнении catch остановить выполнение цикла? аналог в php for ($i=0;$<=100;$i++) { if (catchFunc() == 'error message') { return 'error message'; } }
Vladimir
> в цикле, выполненяется код через промис async/await?
Vladimir
можно throw бросить
Илья | 😶☮️🐸
В асинхронность ещё не вникал, пока базовые задачи пробую решить
Alexander
к тому что поля соответствуют тому что в базу внёc через shell руками
Yurii
а база на том порту понята? 27017? версия монги/монгуса?
Илья | 😶☮️🐸
можно throw бросить
Попробовал, не прокатывает. Unhandled promise rejection:
krn
Попробовал, не прокатывает. Unhandled promise rejection:
у тебя throw выбросит ошибку из промиса, ее ловить надо через промисовский кэтч
krn
проверь сперва коннекшн стринги, совпадает ли адрес и порт ( ну там, локалхост, 27017 етц) как создаешь запись? записываешь инстанс через сейв? через криейт ?
Michael
В асинхронность ещё не вникал, пока базовые задачи пробую решить
попробуйет через генератор это сделать в цикле for of
Alexander
Или Promise.each
Pavel
Подскажите, кто с потоками работал? Мой сервер проксирует картинки с другого сервера, но все картинки при этом мне надо сохранять на диск и все это я хочу сделать через паралельно потоками
Pavel
Проксировать потоками получается, а вот при этом отправлять поток на диск не пойму как
Yurii
Проксировать потоками получается, а вот при этом отправлять поток на диск не пойму как
ты, наверное, делаешь что-то типа responseWithPic.pipe(responseToClient) Просто делаешь ещё такую штуку responseWithPic.on('data' (chunk) => {передаешь в поток сохранения на диск}); responseWithPic.on('end' () => {закрываешь поток сохранения на диск});
сomorsiс
бектики для кода (над табом)
Yurii
обработчиков собитый может быть много, pipe - это один из таких обработчиков, но ничто не мешает ещё явно отлавливать поток с картинкой у себя
Yurii
бектики для кода (над табом)
а вот это не понял -_-
Pavel
const options = { host: 'some-host.ru', path: `/test-images/exists/${fileName}` }; let req = http.request(options, function(res) { response.writeHead(res.statusCode, res.headers); return res.pipe(response, {end: true}); }); requestFromBrowser.pipe(req, {end: true});
сomorsiс
я про форматирование сообщения в телеге
Pavel
все через pipe
Pavel
я пробовал создать поток для файла, и добавить еще один pipe
Yurii
let req = http.request(options, function(res) { response.writeHead(res.statusCode, res.headers); const writeStream = fs.createWriteStream(путь к файлу в который ты будешь вести запись); res.pipe(writeStream); res.pipe(response, {end: true}); });
Pavel
Да, спасибо вроде сохраняет картинку, но как-то не правильно. Я так понимаю в неправильной кодирвке
Pavel
я вот так сделал fs.createWriteStream(filePath, {encoding: "binary"});
Pavel
я сперва не ставил, тоже самое
Pavel
чего-то не хватает, но не пойму чего
Илья | 😶☮️🐸
у тебя throw выбросит ошибку из промиса, ее ловить надо через промисовский кэтч
https://gist.github.com/bigHapiness/9b04ceb4a9ee64b5530f5851060b117b Правильно понял ваши слова ?
Yurii
чего-то не хватает, но не пойму чего
так файл сохраняется, но в обозревателе картинок не открывается?
Yurii
да
помню я как-то передавал картинку и сохранял её в монгу, там был ньоанс, как раз с тем, что надо декодить с бинарного обратно в строку
Pavel
да, у меня же стримы,а не промисы
Pavel
Все заработало без кодировки. Я не тот стрим передавал
Pavel
Спасибо
Valeriy
В Международный проект ищу сильного и опытного Senior Developer Node.js full-stack (backend). Требования у соискателю: - Node.js, mongoDB, - отличное владение чистым JS, - ES6/7, - HTML 5, CSS3, опыт и кругозор в full-stack разработке, - опыт работы с нагруженными проектами, письменный английский. Плюсом будет: - Meteor, React, - Cordova, - Unix, - опыт разработки mobile friendly приложений, - опыт работы с большим объёмом данных, - опыт с фреймворками тестирования, - опыт в криптосфере (web3, parity, geth, solidity, bitcoind). Резюме присылайте на vgrebenyuk@gmail.com, с пометкой node.js developer.
енот
сейчас будет тупой, наверное, вопрос. как сделать рекурсивную цепочку промисовую?
енот
мне надо перебрать массив неким промисом
енот
просто в then явно его вызывать?
енот
я немношк не пойму
Pavel
не понятно, что надо. У вас массив промисов?
енот
у меня массив, мне надо на каждый его элемент вызвать промис по завершении предыдущего промиса
енот
вот, вроде внятно сформулировал, да?
Григорий
Всем привет подскажите команду для pm2 чтоб запустить gulp server
Pavel
я через reduce хотел, но так лучше
енот
а если я асинки не трогал и код не понимаю? 😭
енот
пойду разбираться
Pavel
если не asynk то reduce
енот
про асинк я слышал хотя бы 😆
Pavel
просто посмотру доку функции reduce
Pavel
отличный повод со всем разобраться 🙂
енот
да, просто этот повод как всегда невовремя
Pavel
тут раельно ни чего сложного
Yurii
пойду разбираться
await - это место куда ресолвится промис, то есть это как then, но красивее выглядит. Чтобы await работал, надо обвернуть функцию в которой ты его используешь в async и все) Ну а если промис падает - то это все попадает в catch, по этому все внутренности, где есть await надо обворачивать в try-catch
Eldar
@Voiddancer вот тупое решение влоб const ids = [1,2,3]; function justWork(index) { if (index < ids.length) { doSomeAsync(ids[index]) .then(() => justWork(index + 1)); } } justWork(0);
Eldar
Только оно с парой изъянов имей ввиду, потому что это очень упрощенная фигня
Eldar
Но я тебе не скажу где
енот
сюрприз будет?
Eldar
Ну либо подумаешь и поправишь, либо выстрелит в ногу