Tengo esta función de solicitud de Ajax.
export async function fetchAllCoinsPromise() { const apiCall = await fetch('https://api.coincap.io/v2/assets'); const jsonResult = await apiCall.json(); return jsonResult; }Yo lo llamo así:
const fetchCoins = () => { fetchAllCoinsPromise() .then(res => console.log(111)) .catch(err => { console.log('err', err); fetchCoins(); }); }; la razón por la que estoy haciendo esta recursión es porque a veces recibo este extraño error: SyntaxError: JSON Parse error: Unexpected identifier "You"] y pensé que la recursión asíncrona resolvería el problema y lo hace, pero no estoy seguro si esta es la mejor solución en caso de complejidad de tiempo. ¿Alguna sugerencia por favor?
Puedes usar un filtro si quieres. Puede ser una solución hacky pero funciona.
Un ejemplo podría verse como:
if(jsonResult.startsWith('Y')){ console.log("Error: " + jsonResult); tryYourCallAgain(); } else { return jsonResult; }Puede usar cualquier filtro que detecte el error como typeof, include, etc. Lo que sea mejor en su caso.
Perdón si este código es descuidado ya que soy relativamente nuevo en Javascript, pero funcionó para mí en un caso similar. ¡Espero eso ayude!