курсы.
Пишу на nestjs и использую axios (т.к. как понимаю это стандарт в nestjs).
В общем делаю запрос и получаю 429 ответ (too many requests).
абсолютно то же самое делаю через fetch и все работает отлично.
Очень хотелось бы разобраться. Почему так?)
Заранее спасибо за помощь)
Потому что аксиос к чертям нужно выкинуть
😆 да я с удовольствием напишу по-другому, просто интересно, почему вообще такая ошибка с ним случается?)
Потому что ху*** это, а не либа, если не нравится fetch, используй undici
попробуй в @nest_ru
не, фетч вполне устраивает, просто интересно разобраться)
о, спасибо!)
хотел got использовать, но т.к. с нестом пока не силно знаком, не могу найти способа его туда внедрить)
Я. конечно, не Амбассадор Nest, как @x1gluck1x, но рискну предположить, что волшебные слова: const got = require('got'); Могут помочь
Ну нужно так строить ссылки, в ноде для этого есть специальный пакет url из стандартной либы А ошибка в том что слишком много запросов делаешь, это от либы независит
запрос всего 1 делаю единовременно. Со ссылками да, согласен, просто пытаюсь разобраться поэтому в таком виде накинул)
Как через фетч тестил? В request0kx через фетч запрос кидал и всё было норм?
да, примерно так делал через fetch и все работает)
вот вот вот... началось 😂
А покажи код который вызывает этот метод
не силен в rxjs так же, поэтому может выглядеть не очень. Изучаю сейчас данную тему)
в fiatList массив валют лежит по которым надо сделать запросы. Вот для тестирования просто прокинул первый элемент, поэтому выглядит стремно)
Смело выбрасывай аксиос И возьми за аксиому чем меньше зависимостей и меньше места занимает нод_модулс тем лучше
да я согласен, да и слышал что сам аксиос очень тяжеловесный. Мне просто интересно разобраться в этой ошибке)
Что за плагин, что пишет типы данных?
Мне нрав аксиос
И тебя вылечем
Я раньше тоже противился, но у него есть полезные фишки которые упрощают работу
httpService в nestjs возвращает тип Observable и чтобы получить из него значения, нужно подписываться. Это из либы rxjs
Та какой аксиос, не важно что он удобен, там у человека своя либа для работы с нетворк запросами
Он ща расскажет тебе за микро оптимизацию
Вы так не любите аксиос на бэке, хотя он у вас в беке лежит и никому не мешает) Если поставлять его в вебе, то нахер, да, размер огромный
inlay hint в поиске в user preferences вбей
В корне не так, я его не люблю, потому что не помню ни одной ситуации, когда его полезные фишки были бы мне нужны, а если есть решение производительнее, то зачем мне делать выбор в его сторону?
Не писать фетчевский бойлерплейт на 40-60 строк и сразу заюзать аксиос звучит поприкольнее
Ты слышал что рекомендуют делать с лишним неиспользуемым кодом ?
Если вы прямо в коде не экранируете axios, а напрямую вызываете его из ваших сервисов, то может и так
Что то там не чисто, у меня всё норм работает и один запрос улетает
в nest же import используется. При require сразу ошибку выдает)
да вот и при гуглении не нашел таких кейсов)
Нужно весь код смотреть и дебажить, но дело 99% не в HttpService
пр чем в другом модуле использую axios, делаю запрос но уже на другой uri и на другой ресурс и все нормально работает)
В несте кстати с его декораторами удобно дебажить ?
Там суть в обёртке, которая даёт возможность работать с observable
Удобно, не испытывал с этим проблем
Косяк в коде где-то
хм) понял, буду разбираться)
Если функционал observables не нужен, то можешь через httpService.axiosRef.get кидать запросы, там должен быть обычный промис
ну там в модуле кода то и нет, вот есть в сервисе метод где делаю запрос, в котроллере 1 эндпоинт который вызывает этот метод с запросом и все)
спасибо, попробую)
Лимиты по запросам самой апи смотрели? Есть апи для запроса лимитов?
нет, там именно данный поинт - не в публичном апи)
надо просто убедится для начала что вы правильно формируете запрос и к нему не добавляется какие-то "сюрпризы" кодом из не ваших либ ))) можно проверить плагином через браузер )
но не думаю что у меня лимиты исчерпались)
Дебаг по кишкам неста + непойми во что сгенериравнным js файлам неста ну да очень удобно
Там сорсмапы, по кишкам не приходится лазить, в js вообще не лезем
Попробуй сразу два запроса кинуть, через http сервис и fetch, оба будут с 429?
минутку, сейчас попробую)
Как замена модуля должна поменять ответ от сервера?
Никак, но тут человек говорит что там прям магия и фетч работает всегда хорошо
ещё может на https перекидывать, а ты можешь стучатся на http
Мне кажется рхжс и асинк авайт мешать не сто́ит
попробовал, axios дает ошибку, fetch который вызывается за ним - не дает ошибки)
httpService.axiosRef.get или httpService.get ?
Можно ещё саму ошибку скрином?
а нет это от аксиоса же)
А axios вообще всегда 429 выдает или иногда запрос проходит?
всегда 429, абсолютно)
За это не должен фетчер отвечать Это должно отдельно подключаться к любому фетчеру
Тут так и есть, только они пока не сделали так, что бы можно было к другому фетчеру подключить)))
Обсуждают сегодня