Danaila Catalin
Danaila Catalin

Reputation: 3

React Variable value is not changing

i'm trying to do something in react and i got stuck .. i don't know why this is happening, i can't explain myself.

let content = null;
storage.ref().child(snapshot.val().content).getDownloadURL().then(url => content = url ); // setting value

console.log('content', content); // returns initial value, in my case, null. why?

Line 19

https://pastebin.com/UkJyJihB

Thanks!

Upvotes: 0

Views: 161

Answers (1)

Alex Borodin
Alex Borodin

Reputation: 2034

Your action is asynchronous. It means that 'then' function fires only when getDownloadURL() is finished. But console.log fires immidiately, when the content is null yet. So if you want to do something with content, you should do it inside 'then' callback:

let content = null;
storage.ref().child(snapshot.val().content).getDownloadURL()
.then(url => {
   content = url; 
   console.log('content', content);
} ); 

Upvotes: 3

Related Questions