Skip to content
Advertisement

When fetching JSON and inputting the data into variable, it gives me undefined is not iterable (cannot read property Symbol(Symbol.iterator))

I’m using the Advice Slip API. As the title says, when I input the JSON data into the variable, like this:

 let advi;
fetch("https://api.adviceslip.com/advice").then(r => r.json()).then(adv => advi = adv);

It gives me the error that I mentioned. However, when I replace .then(adv => advi = adv) with .then(console.log) it gives me an object with the advice. However, since I don’t want to just console.log the advice as I need to use it in my website, I need to find a way to use it in a variable.

Answer

index.js

function showData() {
let advi;
fetch("https://api.adviceslip.com/advice").then(r => r.json()).then(adv => {
    advi = adv;
    console.log(advi);
  })
}

showData();
Advertisement