this post was submitted on 05 Aug 2023
8 points (100.0% liked)

JavaScript

1972 readers
3 users here now

founded 1 year ago
MODERATORS
 

How does one fetch some JSON data and save it into a variable and not continue executing the rest of the script until the fetch api has fetch the JSON data?

Here is my code which will return undefined in the console.

var myVar;

fetch("myFile.json")
	.then(res => res.json())
	.then(data => {
	myVar = data;
});
	
console.log(myVar)

//rest of code executes...
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

I would recommend watching a video on how concurrency in JavaScript works. It should make everything clear for you about Promises and async await.

https://youtu.be/8aGhZQkoFbQ

Anyway, what do you want to achieve? There are many ways to go about it, at least in JS, where top level await is not a thing.

Do you want fetched data render somewhere? Or maybe that's part of your backend and you want to do something with it?