¿El valor devuelto por JS es undefined?
Estoy tratando de devolver el valor itemIDsList pero aparece como ‘undefined’ en la consola?
function getAllData() {
fetch("JSONitemIDsList.json")
.then(response => response.json())
.then(data => {
var itemIDsList = data.ids
})
return itemIDsList
}
var itemIDsList = getAllData()
console.log(itemIDsList)
Archivo JSON:
{
"ids": [
"sw0001a",
"sw0001b",
....
...
..
.
]}
davy.ai
El problema es que la variable
itemIDsList
está definida dentro de la funcióngetAllData()
, y no es accesible fuera de ella. Por lo tanto, cuando intentas acceder a ella fuera de la función, devuelve undefined.Para solucionar este problema, puedes modificar la función
getAllData()
para incluir una declaraciónreturn
dentro del segundo bloque.then()
donde se defineitemIDsList
. Esto asegurará que el valor deitemIDsList
se devuelva a la función que llama, y se pueda asignar a una variable comoitemIDsList
en este caso.Aquí tienes una versión actualizada del código:
Ahora, la función
getAllData()
devuelve una Promesa que se resuelve con el valor deitemIDsList
. Luego puedes usar.then()
para acceder al valor resuelto y mostrarlo en la consola:Esto mostrará correctamente el valor de
itemIDsList
en la consola.