Intern
/** * აუცილებელია დაწეროთ ფუნქცია, რომელიც იღებს URL-ს როგორც შემოსავალს, * ასინქრონულად ახორციელებს GET მოთხოვნას ამ URL-ზე და აბრუნებს მონაცემებს (json). * მონაცემების მისაღებად გამოიყენეთ fetch. * მხოლოდ Promise API-ს გამოყენება შესაძლებელია. * თუ მოთხოვნის დროს მოხდა შეცდომა, სცადეთ კიდევ 5 ჯერ. * თუ საბოლოოდ ვერ შეძლეთ ინფორმაციის მიღება, დაბრუნეთ შეცდომა "მიწოდებული URL მიუწვდომელია". */
sobes.tech AI
პასუხი AI-სგან
typescript function fetchWithRetry(url: string, retries = 5): Promise<any> { return fetch(url) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .catch(error => { if (retries > 0) { return fetchWithRetry(url, retries - 1); } else { return Promise.reject(new Error('Заданный URL недоступен')); } }); }
// Использование: fetchWithRetry('https://example.com/data') .then(data => console.log(data)) .catch(error => console.error(error.message));
Функция `fetchWithRetry` рекурсивно пытается получить данные с помощью `fetch`. Если запрос неуспешен или произошла ошибка, она повторяет попытку до 5 раз. Если все попытки неудачны, возвращает ошибку с сообщением "Заданный URL недоступен".