0
votes

Comment afficher des données avec des demandes de données Axios?

Bonjour Je suis à la suite d'une vidéo YouTube sur la façon de faire le suivi des prix BTC avec Electron et j'ai rencontré un problème. J'ai trouvé la solution pour le faire fonctionner, mais je voudrais juste être pointue dans la bonne direction pour comprendre encore pourquoi c'est la solution. Je fournirai ma tentative originale ci-dessous et la solution correcte. xxx pré>

voici la solution correcte. p>

    function getBTC() {
    axios.get('https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC&tsyms=USD')
    .then(res => {
        const cryptos = res.data.BTC.USD
        price.innerHTML = '$'+cryptos.toLocaleString('en')
    })
}cryptos = res.data.BTC.USD
    price.innerHTML = '$'+cryptos.toLocaleString('en')
})
    }


0 commentaires

3 Réponses :


-1
votes

Je penserais parce que vous avez utilisé une fonction avec le paramètre de réponse deux fois mais sous différentes formes dans le premier cas, il s'agissait d'une fonction régulière dans la seconde, il s'agissait d'une fonction de flèche peut-être, c'est-à-dire que je vais commencer à regarder espoir que cela a été utile.


0 commentaires

0
votes

Vos solutions ne sont pas parfaites, vous n'avez probablement pas des erreurs que vous n'avez pas remarquées.

Dans la première solution, vous avez oublié de retour code> votre valeur sur le prochain alors Fonction de rappel. Parce que vous n'avez retourné aucune valeur dans votre premier , alors code> la variable res code> dans le second puis code> est non défini code>. Il est primordial que vous retour code> une valeur dans un puis code> rappel, sinon le prochain alors code> Callback n'a pas de valeur à utiliser. Je vous suggère de lire comment Enchaînant em> travaille dans les promesses. p>

Dans la deuxième solution, votre code fonctionne correctement pour ce segment. P>

function getBTC() {
    axios.get('https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC&tsyms=USD')
    .then(res => {
        const cryptos = res.data.BTC.USD
        price.innerHTML = '$'+cryptos.toLocaleString('en')
    })
}


1 commentaires

Ah je vois merci pour ça. Ça clarme. De plus, la première fonction était plus un test de voir si j'avais réellement des données. Merci encore!



0
votes

Dans le premier cas, le premier .Chen () ne retourne pas une promesse (ou quelque chose en effet), donc le second .Chen () ne reçoit rien de Un argument ( res est non défini ).

Dans le second cas, tout est fait dans le premier .Chen () bloc, où réponse est défini.


1 commentaires

Merci pour votre réponse! Cela donne un sens parfait maintenant que j'y pense.