@nodejs_ru

Страница 2489 из 2748
Антон
03.09.2018
10:15:21
Выбери "текстовый документ" поменяй название на "rest.js"

Если пишет полное название файла

Nell
03.09.2018
10:16:04
Выбери "текстовый документ" поменяй название на "rest.js"
Ого, так ты шаришь, оказывается. А я для тебя же гайд выбиваю как создать rest-файл)

Выбери "текстовый документ" поменяй название на "rest.js"
Кстати, хоть в гугл, хоть в ютуб пиши "nodejs rest" и будет миллион примеров, я уверен

Google
Igor
03.09.2018
10:20:12
Привет, второй день мучаюсь с проблемой, есть воркер который выполняют запросы к сторонниму сервису. При сотне таких запросов переодчески падает 5-10 ENOTFOUND. Использую request-promise. Гуглением ни чего толкового не нашел, подскажите это проблема в на моей стороне или есть вероятность что это стороняя проблема nginx или тупо моего интернета?

Igor
03.09.2018
10:29:07
В том то и дело, если бы отдавал 404 я бы понял, так он говорит что вообще нельзя запросить данный ресурс

енот
03.09.2018
10:29:41
файл2бан банальный

Igor
03.09.2018
10:29:42
Это наш сервис внутрений

енот
03.09.2018
10:29:47
а

Igor
03.09.2018
10:30:05
Там нет ограничений

ты делаешь с какой задержкой?
Без задержки, 100 запросов единоразово

Alexander
03.09.2018
10:31:21
попробуй оптимизировать это, поставь задержку, пусть и не большую... хз

Igor
03.09.2018
10:32:09
Немогу же я в свой луп уператся

Google
Nell
03.09.2018
10:32:16
Без задержки, 100 запросов единоразово
Я прям стесняюсь спросить, а в таком случае точно нельзя одним запросом?

Igor
03.09.2018
10:32:16
Ок, ща пробую

Alexander
03.09.2018
10:32:31
Igor
03.09.2018
10:33:16
делай async/await
Не совсем понял, у меня типа такой конструкции Promise.all(_.map(tasks, function (task) { return request(task) }))

Konstantin
03.09.2018
10:37:35
Konstantin
03.09.2018
10:38:36
3. Если это самый простой риквест, но он принимает коллбэек и только так. Есть верианты с промисом -> request-promise

Konstantin
03.09.2018
10:39:15
4. Для асинхронного маппинга отлично подходит awaity.js если не хочешь сам замарачиваться с возвратом промисов и резолвом

axios
да пофиг что на самом деле.

Igor
03.09.2018
10:40:26
2* тогда с for () {}
Ну последовательно выполнять конечно влюбом случаи, просто хотел по максемум асенхроно это выполнить и понять лыжи не едут или я ***

Alexander
03.09.2018
10:40:55


Konstantin
03.09.2018
10:41:13
Ну последовательно выполнять конечно влюбом случаи, просто хотел по максемум асенхроно это выполнить и понять лыжи не едут или я ***
Промисс.алл тоже вызывается не “всё одновременно”. Он мапит тот же массив и дёргает функции по порядку

Nell
03.09.2018
10:41:24
мыш (кродёться)

Igor
03.09.2018
10:43:04
У меня и стот request-promise

*максимум асинхронно Не суть

Google
Konstantin
03.09.2018
10:44:35
У меня и стот request-promise
ну так тебе тогда надо возвращать результат резолва этих промисов. Результатом Промис.алла будет массив результата резолвов риквеста

Igor
03.09.2018
10:45:15
Тоже не существенно

Alexander
03.09.2018
10:45:31
Тоже не существенно
еще как существенно

Дмитрий
03.09.2018
10:45:50
Как раз-таки одновременно.
Оба варианта некорректные

Konstantin
03.09.2018
10:45:50
Как раз-таки одновременно.
маппинг массива асинхронный?

Igor
03.09.2018
10:46:42
ну так тебе тогда надо возвращать результат резолва этих промисов. Результатом Промис.алла будет массив результата резолвов риквеста
Так проблема не в промисах, а то что из пачки реквестов падает с ошибкой ENOTFOUND некоторые из них, и совершенно не понятно по какой причине, 95 проходит 5 не проходят

Alexander
03.09.2018
10:47:07
arts
03.09.2018
10:47:08
маппинг массива асинхронный?
Там промисы, мап не ждёт их резолва для следующей итерации.

Konstantin
03.09.2018
10:47:36
Там промисы, мап не ждёт их резолва для следующей итерации.
промисы могут одновременно начать выполнятся, если маппинг не асинхронный?

Alexander
03.09.2018
10:48:18
промисы могут одновременно начать выполнятся, если маппинг не асинхронный?
если делаешь их синхронной функцией (.forEach, for без async/await) то да

Дмитрий
03.09.2018
10:48:52
Промисы встают в очередь на резолв на следующий тик

Konstantin
03.09.2018
10:49:55
Дмитрий
03.09.2018
10:50:23
Как переданный итератор решит

Igor
03.09.2018
10:50:26
это да, но в каком порядке?
Да там же всеравно в каком

catch вешай
есть, catch

Дмитрий
03.09.2018
10:50:59
На каждый

Konstantin
03.09.2018
10:51:00
это я к тому, что выполнятся они будут не одновременно, а всё равно в порядке, в котором итератор их сложил в очередь

Igor
03.09.2018
10:51:36
catch вешай
Error: getaddrinfo ENOTFOUND host.com

Google
Vitaly
03.09.2018
10:51:42


Alexander
03.09.2018
10:53:10
просто упрости код

const result = (await axios.post(url, body)).data

Konstantin
03.09.2018
10:54:52
const result = (await axios.post(url, body)).data
так не безопасно писать, нет места для эррор хендлера

Konstantin
03.09.2018
10:55:46
у него там try catch
это я вижу. а если надо внутри самой функции че-т порезолвить. это самоограничение

Konstantin
03.09.2018
10:56:40
это async/await, дарова
и чё? вернётся у тебя пустой объект из риквеста. и вместо body вылетит undefined.

Admin
ERROR: S client not available

Alexander
03.09.2018
10:57:17
и чё? вернётся у тебя пустой объект из риквеста. и вместо body вылетит undefined.
это уже к его функции вопросы, я просто из 5ти строк сделал 1 которая работает

Konstantin
03.09.2018
10:57:40
это уже к его функции вопросы, я просто из 5ти строк сделал 1 которая работает
так я не спорю, я говорю что так писать не безопасно

Ildar
03.09.2018
10:57:47
const result = (await axios.post(url, body)).data
нельзя получить так свойство дата

Ildar
03.09.2018
10:58:07
яп

Konstantin
03.09.2018
10:58:27
яп
а с чем вываливается?

Ildar
03.09.2018
10:59:38
там по идее андефайнед будет у вас возвращается промис справа пока авейт не отработает вы не можете тащить свойства из зарезолвленного результата, можете только then написать

Ildar
03.09.2018
11:00:50
та проще деструктурировать и вернуть

или вернуть и выше деструктурировать

Google
Alexander
03.09.2018
11:01:19
яп
у меня все работает

лул

Konstantin
03.09.2018
11:01:29
1 момент. оно возврашает сразу json или надо вызвать .json()

я хз как там аксиос делает

Ildar
03.09.2018
11:02:17
стоп

Alexander
03.09.2018
11:02:35
стоп
что-то непонял?

Ildar
03.09.2018
11:02:36
с аксиосом возможно да, обычный промис не должен по идее так работать

я запутался сорян

Alexander
03.09.2018
11:03:06
я запутался сорян
разрешаю залезть снова в доку

это особенности js

Ildar
03.09.2018
11:03:19
там есть алиас наверное дата, который сам делает зен и парсит джсон

зачем?

я им не пользуюсь

Alexander
03.09.2018
11:03:42
Ildar
03.09.2018
11:03:47
аксиосом

Konstantin
03.09.2018
11:03:54
я им не пользуюсь
это уже вопросы к аксиосу

Alexander
03.09.2018
11:04:01
аксиосом
я тебе что-то про аксиос сейчас говорил?

Konstantin
03.09.2018
11:04:05
а с node-fetch такого не было б ?

Страница 2489 из 2748