Maison > Questions et réponses > le corps du texte
P粉7399424052023-08-04 00:56:41
Le problème est que vous déclarez une variable appelée historicDividend, l'initialisez dans un tableau vide, puis réaffectez l'intégralité de la variable aux données de la série chronologique à chaque itération, ce qui signifie que vous écrasez la valeur à chaque fois. De plus, l'entrée n'est pas définie, je pense que vous souhaiterez peut-être utiliser la date.
Pour résoudre tous ces problèmes, vous devez utiliser la méthode map(), qui accepte un tableau, boucle dessus et crée un nouveau tableau en utilisant la valeur de retour de la fonction de rappel.
Autre conseil : vous devez vérifier le code d'état HTTP de la réponse pour vous assurer que vous obtenez la réponse attendue.
Voici une version de votre code qui résout les deux problèmes :
async function fetchTimeSeriesDailyAdjusted(ticker) {
//Fetch function to get the daily close and the dividends
const apiTimeSeriesDailyAdjusted = `https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=${symbol}&apikey=${apiKey}`; //Lik of the API - update the symbol
try {
const response = await fetch(apiTimeSeriesDailyAdjusted);
// Check for HTTP response code
if (!response.ok) {
throw new Error(
$`Fetching daily time series data failed with status code '${response.status}'`
);
}
const data = await response.json();
const historicalDividend = data["Time Series (Daily)"].map(
(entry) => entry["7. dividend amount"]
);
console.log(historicalDividend); //Console log to see the dividend
return historicalDividend; //Value that the function must return
} catch (error) {
console.error("Error fetching apiTimeSeriesDailyAdjusted"); //Log of the error
}
}