сomorsiс
промисы нормально подходят
Maxim
где можно почитать про websocket?
Nurik
где можно почитать про websocket?
Погуглил за тебя. https://learn.javascript.ru/websockets
Maxim
а как на ноде реализовать?
Maxim
кантора читал
Maxim
бек интересует
Nurik
Ну тогда читай спеку https://tools.ietf.org/html/rfc6455
Maxim
спасибо
сomorsiс
чувак, подумай, ты действительно хочешь писать с 0?
Maxim
socket.io?
сomorsiс
например
Nurik
промисы нормально подходят
А вообще планируется внедрять метод map для нативных промисов не вкурсе ?
Nurik
А вообще планируется внедрять метод map для нативных промисов не вкурсе ?
Вообще я конечно понимаю что по хорошему нужно заюзать очередь, но вот от чего-то нативного не отказался бы.
сomorsiс
вроде нет
Nurik
А как тогда разрулить вышеозвученную задачу используя современные подходы ? Без колбеков и async либы.
Nurik
как будет выглядеть control flow c async await для вышеозвученной задачи ?
V
Берешь по 10 строк, делаешь Промис.олл на них, потом следующие 10 строк и тп в цикле. Как вариант
V
ну отлавливай каждый, да и все
V
аксиос промис возвращает, кетчи каждый промис, весь флоу не упадет
Nurik
ну отлавливай каждый, да и все
Как ? Promise.all упадет если хоть один упадёт.
Nurik
Мне нужно подобие пула в мультитредовых языках.
V
У тебя будет await Promise.all(links.map(link => request(link).catch(err => …)))
Nurik
Упал один, поставили в конец, добавили в пул новый.
Nurik
У тебя будет await Promise.all(links.map(link => request(link).catch(err => …)))
А ты уверен, что знаешь как отработает твой код ?
сomorsiс
а в чем проблема?
Nurik
В том, что что Promise.map: Promise, который будет выполнен когда будут выполнены все обещания, переданные в виде перечисляемого аргумента, или отклонен, если будет отклонено хоть одно из переданных обещаний.
сomorsiс
catch отловит ошибку, внутри него ты вернешь специальное значение, по которому будешь определять фейловый запрос
V
если ты внутри кетча не выкинешь ошибку, то цепочка промисов продолжится
Den
(async () => { const page = await rp('https://www.sait.com/'); const downloadSoftLink = $(page).find('#dl_osx a:first-child').attr('href'); console.log(downloadSoftLink); })()
Сделал асинхронный с эвэйтом, но всё равно запрос выполняется после консоль лога после функции
Nurik
если ты внутри кетча не выкинешь ошибку, то цепочка промисов продолжится
Если ты попал в catch - то все что было вместе с отклоненным промисом — упадет. Т.е. ты не узнаешь выполнились остальные или нет.
сomorsiс
неправда
Max
@nurik6 ты не прав
Nurik
Ребят может вы хоть будете аргументировать ? Вот из доки: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
Nurik
Там в конце есть пример.
сomorsiс
возьми тот пример и добавь catch к p5
Konstantin
Создай промис, реджектни его и сделай then после catch
V
Ребят может вы хоть будете аргументировать ? Вот из доки: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
В доке все правильно, но тут ты каждый промис кетчишь, соответственно все остальное у тебя не упадет, так как после кетча выполнение продолжается по нормальному флоу
V
Вообще, на будущее, просто подебаж разные варианты и смотри что у тебя получается на выходе
Nurik
Вообще, на будущее, просто подебаж разные варианты и смотри что у тебя получается на выходе
Да, я не догадался вешать catch. Спасибо. Вариант с Promise.all вполне норм. Раньше тащил за собой bluebird из-за .map метода.
Anonymous
мужики, как сделать проверку на пустоту картинке которая пришла от клиента?
Anonymous
https://toster.ru/q/472090
Igor
https://stackoverflow.com/questions/27107923/detecting-mostly-empty-images-using-imagemagick
Igor
https://github.com/rsms/node-imagemagick
Anonymous
if(JSON.stringify(req.files.im1) != "{}" )
Anonymous
Anonymous
ребят, а что собственно не так? почему не рабоает?
Sergey
ребят, а что собственно не так? почему не рабоает?
нам откуда знать? ошибку приложи если хочешь чтобы пришли те, кто не телепат
Рубикон
ребят, а что собственно не так? почему не рабоает?
Вангую что express .. но код похож на некоторый адд
KlonD90
кол-во ошибок слишком велико
Рубикон
забыл })
eslint --fix те в помощь
Dmytro
Кто использует loopback?
Anonymous
данные с картинкой пишутся без проблем но когда ее нет то всю ломается
Anonymous
не понимаю в чем проблема
Таймураз
Кто использует loopback?
Не знаю, зачем тебе нужны те, кто знает loopback, но лучше его не использовать Под капотом- говнокод. И кто-то жаловался на неудобство в больших проектах.
Sergey
данные с картинкой пишутся без проблем но когда ее нет то всю ломается
зачем тебе там JSON.stringify че за бредовая проверка да и если пусто, то будет "" , а не пустой объект изучи сначала как работает JSON.stringify
Таймураз
Стандартный подход в разработке на ноде и Koa
Таймураз
Через middleware
Sergey
данные с картинкой пишутся без проблем но когда ее нет то всю ломается
у тебя условие с JSON.stringify выполняется всегда ибо написано неправильно
Anonymous
а как нужно? не могли бы вы подсказать
Anonymous
прошу прощения за быдлокод и тупые вопросы
Server
Делаю выборку по массиву календаря else if (lines[i].includes('LOCATION')) { var location = lines[i].split(':') } Получаю LOCATION:SoHo Yoga\n1242 Hermosa Ave\, Hermosa Beach\, CA 90254\, United и X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=null:";X-APPLE-MAPKIT-HAN Как исключить второе вхождение?
Server
сделать ‘includes(‘LOCATION:’)’? 🙂
выборка сократилась, но под этот запрос попадает это: X-LIC-LOCATION
V
сделай startsWith
V
если оно у тебя в начале строки
Server
сделай startsWith
спасибо работает)
Roma
Подскажите где можно посмотреть про севременный стиль написания кода на node, мб линтер есть какой?
Den
Всё ТЗ от и до: Есть request('https://google.ru'); Он получает html страницу гугла Но он мне её не отдаёт обратно и работать с ней могу только в функции после request Если записать страницу в переменную, то переменная после request будет пустая. Как мне вывести страницу из request наружу?
Den
Эммм
Den
Такое себе
Den
Есть иное решение?
Dika
Приостановить время