Quiero obtener datos de una API. Esta API tiene múltiples URL (para respaldo). Ahora quiero solicitar URL1 primero, si eso devuelve datos: no intente con las URL de respaldo. Si la URL no devuelve datos, sigue intentándolo. Esto es lo que tengo (y eso parece funcionar por lo que puedo decir) pero parece realmente estúpido:
const getData = async () => { let returnData = null; try { returnData = await axios.get(`${URL[0]}/${path}`); } catch (error) { console.error(`Error fetching data: ${URL[0]}`, error); } if (!returnData) { try { returnData = await axios.get(`${URL[1]}/${path}`); } catch (error) { console.error(`Error fetching data: ${URL[1]}`, error); } } if (!returnData) { try { returnData = await axios.get(`${URL[2]}/${path}`); } catch (error) { console.error(`Error fetching data: ${URL[2]}`, error); } } if (!returnData) { try { returnData = await axios.get(`${URL[3]}/${path}`); } catch (error) { console.error(`Error fetching data: ${URL[3]}`, error); } } if (!returnData) { try { returnData = await axios.get(`${URL[4]}/${path}`); } catch (error) { console.error(`Error fetching data: ${URL[4]}`, error); } } if (!returnData) { try { returnData = await axios.get(`${URL[5]}/${path}`); } catch (error) { console.error(`Error fetching data: ${URL[5]}`, error); } } if (!returnData) { try { returnData = await axios.get(`${URL[6]}/${path}`); } catch (error) { console.error(`Error fetching data: ${URL[6]}`, error); throw new Error('last try fetching data:', error); } } return returnData; }¿Cuál es el camino a seguir aquí?