Hi 👋🏼,

Если вы работаете со сторонними/внешними API, которые иногда отключаются на короткие периоды времени или просто время от времени отбрасывают ваши http-запросы, было бы неплохо реализовать механизм повторных попыток для ваших запросов. Для краткости ниже приведен код JavaScript для реализации повторной попытки, а затем пример кода с комментариями, объясняющими, как его использовать. :)

И тогда все, что вам нужно сделать, это обернуть ваши запросы этой функцией, предоставить обработчик ошибок и необязательный `retryCount`, который по умолчанию равен 3, поэтому по умолчанию ваши запросы будут повторены 3 раза, прежде чем он завершится ошибкой и вызовет функцию обработчика ошибок. . В приведенном ниже фрагменте кода первая функция является примером существующего кода без какой-либо логики повторных попыток, а вторая функция демонстрирует, как вы можете изменить его для использования повторных попыток.

Примечание: имейте в виду, что в большинстве случаев вы не хотите изобретать велосипед, и будет достаточно использовать встроенный механизм повтора любой http-библиотеки, которую вы используете. Но этот пример охватывает не только HTTP-запросы, вы можете использовать эту функцию-оболочку для любого фрагмента кода, который потенциально может дать сбой и требует нескольких повторных попыток. ;-)

Итак, чтобы подвести итог, для того, чтобы любой запрос использовал механизм повтора, все, что вам нужно сделать, это выполнить 3 шага:
1. обернуть ваш код в метод requestWithRetry
2. скопировать код в блоке try и вставить в качестве 1-го аргумента
3. скопируйте код в блоке catch и вставьте в качестве 2-го аргумента
И вуаля!

Оставьте комментарий, если у вас есть какие-либо вопросы или если вы нашли какие-либо ошибки в коде. Удачного кодирования! 🧑🏻‍💻