ill-ya
на самом деле этот вопрос больше админский - а тут про ноду. как запустить/дать доступ извне.
Kons
на самом деле этот вопрос больше админский - а тут про ноду. как запустить/дать доступ извне.
Запустить каким-нибудь процесс менеджером. Например, pm2. Настроить веб-сервер (не знаю, что на Винде используется), чтобы он проксировал все, что приходит на 80 порт, на порт, который слушает приложение нодовское.
V
У ИИС была надстройка для ноды
ikasymov
Ребят как можно запустить такой for loop который будет делать следующий итератор после того как предедущий возвратит true ?
Дима
yield*
ikasymov
можно я свою проблема расскажу может подскажете что делать?
ikasymov
у меня есть обьект он парсит сайт, я через фоорлуп прохожу по списку url и передаю этому обьекту ввиде аргумента url и вызываю его метод parse(), и получается что после запуска форлупа у меня вызываются все обьекты и вызываются его методы и парсится сразу все парсеры, а мне надо что б следующий итератор запустился только после того как предедущий закончил
Дима
async await
Rem1te
Промисы, колбеки
ikasymov
у меня сейчас так list.forEach(elem=>{ let obj = new Parse(elem) obj.parser() })
Rem1te
У тебя асинхронная операция, ее нужно обработать как подобает асинхронщине, ил
ikasymov
нет я хочу что бы следующий запустился только после того как закончил передедущий
Дима
async await
Anonymous
может пхп))
ikasymov
async await
выше примере куда мне засунуть asyn await?
Дима
for (const elem of list) await new Parse(elem).parser()
Таймураз
for (const elem of list) await new Parse(elem).parser()
Лишь уточню, что все это должно выполняться в асинхронной функции с async перед ее объявлением
ikasymov
for (const elem of list) await new Parse(elem).parser()
nice, спасибо работает а это вообще хорошая практика так делать?
Таймураз
nice, спасибо работает а это вообще хорошая практика так делать?
Если задача обязывает так делать, то не вопрос
Таймураз
Но почему это полностью асинхронно нельзя сделать в твоем случае- интернесно
KlonD90
nice, спасибо работает а это вообще хорошая практика так делать?
ну можно Promise.all и map или какой-нибудь поверх parser pool делать
Таймураз
ну можно Promise.all и map или какой-нибудь поверх parser pool делать
Они будут одновременно выполняться, а он так не хочет
ikasymov
Но почему это полностью асинхронно нельзя сделать в твоем случае- интернесно
у меня разом работает 20 парсеров каждый из низ вызывает этот обьект по 20-30 раз получается у меня вызывается разом 30 * 20 обьекта Parser и те сайты иногда крашется от моих запросов одновременных
KlonD90
ну да нужно взвешенные пулы
KlonD90
по domain'у
ikasymov
Очередь
так пример выше по сути и по очереди будет делать
Сергей
Привет На сервере время 10:30 в ноде получаю время 07:30 это как так?) откуда время берет нода?)
Дима
UTC +3
Dmitry
node + typescript юзает кто?
ikasymov
какая например?
Таймураз
так пример выше по сути и по очереди будет делать
Короче тебе нужно написать очередь так, чтобы больше n парсеров на домен не выполнялось
Anonymous
юзает
Anonymous
node + typescript юзает кто?
Dmitry
юзает
не подкинешь инфы на эту тему?
Anonymous
а что конкретно интересует?
Anonymous
непонятно какая инфа там может быть. Подключил тайпинги и все
Anonymous
http://ru.lmgtfy.com/?q=node+js+typescript
Dmitry
есть примеры простых задач на классах в коа джс ? todo какой то и тд
Anonymous
а в ноде интерполяция строк есть?
Anton
В ES6 есть
Anton
https://ponyfoo.com/articles/es6-template-strings-in-depth
Anonymous
В ES6 есть
console.log('${User.Login}+${User.Password}')
Anonymous
Она же так пишется?
ikasymov
кто парсил с хабра они часто меняют название классов?
Алексей
`
Anton
Там специальный символ для строки
Алексей
Шифт ё на англ или Комбинируемый гравис
Алексей
Номер в Юникоде: U+0300 HTML-код: ̀
Алексей
вроде этот
Anonymous
так я знаю как им пользоваться,спасибо
Алексей
сорян сразу не понял
ikasymov
Почему это не работает? let glob = require('glob'); let dirs = glob.sync('./parsers/*.js'); dirs.forEach(elem=>{ require(elem.toString()).startpars() }); говорит что startpars не функция хотя если вызываю на прямую то есть require('../parsers/test.js').startpars() работает
Nikita Tolkachev
так ../parsers или ./parsers ?
ikasymov
../
ikasymov
в коде все правильно указано я тут перепутал
Nikita Tolkachev
просто в твоем коде же ./
Nikita Tolkachev
понял сделай лог elem.toString(), посмотри, что там не так
Алексей
почему let? а не const
ikasymov
все там правильно приходит, не стал бы писать тут не проверив
ikasymov
почему let? а не const
не важно, проблема в другом
Anonymous
так чему равен elem.toString()?
Алексей
а что в dirs
ikasymov
список
Алексей
а если написать dirs.startpars()
ikasymov
не будет так работать
ikasymov
у листа нету метода startpars
ikasymov
ребят как вызвать по циклу методы в разных файлах?
ikasymov
название метода у всех один, надо просто по циклу пройтись и вызвать
Алексей
я делаю так module.exports.getMessage = getMessage; потом const getMessage = require('./ews-action').getMessage;
ikasymov
ну понятно что так, мне надо со всех файлов вызвать
Nurik
Всем привет. Ребят кто с loopback знаком ? Можете подсказать, можно ли в нём делать гидрацию модели данными из другого API ? Есть несколько API. Для консистетности нужно чтобы *некторые данные рассматривались как одна модель.
Anonymous
отлаживаться не пробовал что-ли? что вернет require(elem.toString())?
ikasymov
отлаживаться не пробовал что-ли? что вернет require(elem.toString())?
выходит другая ошибка SyntaxError: Unexpected end of JSON input