J'utilise fetch pour obtenir des données json d'une API. Fonctionne bien mais je dois l'utiliser à plusieurs reprises pour divers appels, donc il doit être synchrone ou bien j'ai besoin d'un moyen de mettre à jour l'interface lorsque l'extraction se termine pour chaque composant.Comment rendre javascript fetch synchrone?
function fetchOHLC(yUrl){
fetch(yUrl)
.then(response => response.json())
.then(function(response) {
alert(JSON.stringify(response.query));
var t = response.created;
var o = response.open;
var h = response.high;
var l = response.low;
var c = response.close;
return {t,o,h,l,c};
})
.catch(function(error) {
console.log(error);
});
}
var fetchData = fetchOHLC(yUrl);
alert(fetchData); // empty ?
Existe-t-il un autre moyen d'y parvenir autre que l'utilisation de fetch? (Je ne veux pas utiliser jquery de préférence).
Merci
Modifier
La question est sur fetch-api, n'ajax, jquery pas, alors s'il vous plaît marquer l'arrêter comme doublon de ces questions sans le lire correctement. Et si vous vous sentez toujours obligé de le faire, s'il vous plaît arrêter de le lier à des questions et réponses de dix ans, beaucoup de changements dans une décennie.
@Igor non, son différent, plz essayer d'atteindre les deux questions correctement avant de les marquer comme des doublons –
J'ai lu la question et il est un doublon. Vous ne comprenez pas comment obtenir/utiliser un résultat d'un appel asynchrone, les deux dernières lignes de votre exemple le rendent très évident. Lisez les réponses fournies pour mieux comprendre comment utiliser les réponses des appels asynchrones, elles sont bien écrites et peuvent vous aider à résoudre votre problème. – Igor
@Igor veuillez lire la réponse fournie par jonas sur cette question pour voir comment il a compris la question et y a répondu correctement :) J'espère que cela vous aidera à effacer vos concepts et vous faire comprendre comment ajax, fetch et jquery sont des choses différentes, –