Al igual que el título, estoy trabajando en una aplicación que llama a las API de YouTube, pero a veces mi aplicación realiza demasiadas solicitudes que activan el límite de cuotas de la API y, por lo tanto, hacen que la aplicación deje de funcionar debido a un error en el servidor de la API. La solución para esto que encontré en Internet es crear múltiples claves API y recorrerlas. Pero tengo un dolor de cabeza al descubrir cómo hacer que mi Axios pruebe varias URL de API antes de devolver los datos. ¿Algún consejo o truco sobre esto?
Aquí está el código de muestra que probé:
async function getYoutubeVideoSnippet(id) { const response = await axios.all([ axios.get( "https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=" + id + "&key=API_KEY" ), axios.get( "https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=" + id + "&key=API_KEY" ), ]); return response.data; }No entiendo exactamente lo que quiere hacer, pero si desea tener muchas solicitudes y solo necesita una respuesta, puede usar Promise.any . Por ejemplo
async function fetchData () { const requests = [ axios.get('...'), axios.get('...'), ] const response = await Promise.any(requests) return response.data }Con este ejemplo, puede recibir la primera respuesta, pero debe tener en cuenta que todas las solicitudes finalmente se envían