Size: a a a

Node.js — русскоговорящее сообщество

2021 March 21

AP

Andrey Popov in Node.js — русскоговорящее сообщество
Народ, подскажите плиз как перевести этот SQL в Knex?
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Никто не подскажет как сделать чтобы оно отправляло по одному запросу ? Аналог forEach вообщем ибо он сразу делает 1000 запросов на функцию от чего у меня компьютер взрывается. Что можно сделать чтобы он отправлял запрос следующий раз тогда когда получит ответ от функции?
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Никто не подскажет как сделать чтобы оно отправляло по одному запросу ? Аналог forEach вообщем ибо он сразу делает 1000 запросов на функцию от чего у меня компьютер взрывается. Что можно сделать чтобы он отправлял запрос следующий раз тогда когда получит ответ от функции?
Проблема в том, что вызов Parse происходит слишком часто? поставь await перед ним и сделай async функцию. Если Parse ходит куда-то по сети
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Никто не подскажет как сделать чтобы оно отправляло по одному запросу ? Аналог forEach вообщем ибо он сразу делает 1000 запросов на функцию от чего у меня компьютер взрывается. Что можно сделать чтобы он отправлял запрос следующий раз тогда когда получит ответ от функции?
корректнее будет спросить в @js_noobs_ru
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Unknown T.
Проблема в том, что вызов Parse происходит слишком часто? поставь await перед ним и сделай async функцию. Если Parse ходит куда-то по сети
ок
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Unknown T.
Проблема в том, что вызов Parse происходит слишком часто? поставь await перед ним и сделай async функцию. Если Parse ходит куда-то по сети
Вообще не сработало 😁 Открылось 72 браузера(Puppeteer) и начали очень много ошибок бить. Может есть какие-то либы?
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Не совсем тебя понял, может если расскажу как работает мой то мы поймём друг друга. Мой по алшгоритму должен собрать все ссылки из страницы а потом передавать их в функцию, но не таким образом как это делает forEach xd
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Вообще не сработало 😁 Открылось 72 браузера(Puppeteer) и начали очень много ошибок бить. Может есть какие-то либы?
Я просто не очень понял из твоего кода, где именно возникает проблема. Если в строках forEach(... => { Parse() }) и тебе нужно, чтобы это все было последовательно, то решение простое -- дожидаться, пока Parse завершит работу. Как Parse отчитывается о завершении работы? callback или promise? Если callback, то вызывать Parse внутри коллбека. Если промис, то делать await или then.

setTimeout чтобы чего-то дожидаться наподобие сети лучше никогда не использовать
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Unknown T.
Я просто не очень понял из твоего кода, где именно возникает проблема. Если в строках forEach(... => { Parse() }) и тебе нужно, чтобы это все было последовательно, то решение простое -- дожидаться, пока Parse завершит работу. Как Parse отчитывается о завершении работы? callback или promise? Если callback, то вызывать Parse внутри коллбека. Если промис, то делать await или then.

setTimeout чтобы чего-то дожидаться наподобие сети лучше никогда не использовать
Я думаю можно использовать в этой ситуации setTimeout так как на каждую страницу уходит не более 6.7 секунд
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Я думаю можно использовать в этой ситуации setTimeout так как на каждую страницу уходит не более 6.7 секунд
Да? А вдруг на сеть нагрузка чуть увеличится и будет 8 секунд? Это очень реальный сценарий. А может с сервером не так что-то и он вообще будет тянуть с ответом 60 секунд?

Я не вижу препятствий сделать по-нормальному, на промисах
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Unknown T.
Да? А вдруг на сеть нагрузка чуть увеличится и будет 8 секунд? Это очень реальный сценарий. А может с сервером не так что-то и он вообще будет тянуть с ответом 60 секунд?

Я не вижу препятствий сделать по-нормальному, на промисах
Просто я представления о них не понимаю и не знаю как отредактировать код чтобы работало как ты подсказал
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
Что возвращает Parse?
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Unknown T.
Что возвращает Parse?
MacBook-Air-Denis:cronusg no_label$ node /Users/no_label/Downloads/klpars/cronusg/kufar.js
Promise { <pending> }
MacBook-Air-Denis:cronusg no_label$

Ответ как только я запустил скрипт(не в конце работы). Вызвал функцию так: console.log(Parse("https://www.kufar.by/item/122046936"))
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Я всё сделал как ты сказал если правильно понял но тут что-то не так, опять 72 браузера
источник

ы

ы in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Я всё сделал как ты сказал если правильно понял но тут что-то не так, опять 72 браузера
Пиздец говно
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
ы
Пиздец говно
ахахаха +
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Никто не подскажет как сделать чтобы оно отправляло по одному запросу ? Аналог forEach вообщем ибо он сразу делает 1000 запросов на функцию от чего у меня компьютер взрывается. Что можно сделать чтобы он отправлял запрос следующий раз тогда когда получит ответ от функции?
вот этот fetch, который в самом начале, запускается один раз?
источник

Т

ТИЛЬТОВАНЫЙ ДОЛБОЕБ... in Node.js — русскоговорящее сообщество
Unknown T.
вот этот fetch, который в самом начале, запускается один раз?
Да
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Я всё сделал как ты сказал если правильно понял но тут что-то не так, опять 72 браузера
я снова порекомендую тебе обратиться в @js_noobs_ru
тебе тут сейчас насоветуют промисы в forEach пихать через таймауты...
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
ТИЛЬТОВАНЫЙ ДОЛБОЕБ
Никто не подскажет как сделать чтобы оно отправляло по одному запросу ? Аналог forEach вообщем ибо он сразу делает 1000 запросов на функцию от чего у меня компьютер взрывается. Что можно сделать чтобы он отправлял запрос следующий раз тогда когда получит ответ от функции?

.forEach(async currLink => {
  await Parse(currLink);
});

всё
источник