Home > Enterprise >  When fetching JSON and inputting the data into variable, it gives me undefined is not iterable (cann
When fetching JSON and inputting the data into variable, it gives me undefined is not iterable (cann

Time:06-02

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.

CodePudding user response:

If you are trying to iterate advi just below call fetch api, yes the advi variable is still undefined, because fetch is Web API which is asynchronous.

CodePudding user response:

index.js

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

showData();

  • Related