Estoy creando una aplicación que obtiene datos de 2 API diferentes al mismo tiempo según la búsqueda del usuario.
Se supone que la aplicación obtiene los precios actuales de las criptomonedas y los datos históricos. Pero las API usan 2 formatos diferentes para el símbolo, así:
1.
si alguien busca 'BITCOIN', solo obtendrá datos de 1 API, porque la otra requiere 'BTC-USD'
2.
¿Es posible de alguna manera obtener datos de ambas API al mismo tiempo?
Supongo que podría ver algunas soluciones (codificar los datos o cambiar las API para que usen el mismo formato), aunque este camino parece bastante laborioso.
¿Alguna idea sobre cómo se puede hacer esto?
Use Promise.all si desea obtener datos de 2 API diferentes al mismo tiempo:
const fetchData = async (yahoo_API_URL, coingecko_API_URL) => { const fetchYahoo = fetch(yahoo_API_URL, /* config */) const fetchCoingecko = fetch(coingecko_API_URL, /* config */) const [fetchYahooRes, fetchCoingeckoRes] = await Promise.all([fetchYahoo, fetchCoingecko]) const [cryptoPriceFromYahoo, cryptoPriceFromCoingecko] = await Promise.all([fetchYahooRes.json(), fetchCoingeckoRes.json()]) ... } fetchData('yahoo.com/BTC-USD', 'coingecko.com/api/BITCOIN') fetchData('yahoo.com/ETH-USD', 'coingecko.com/api/ETHEREUM')