Reputation: 3
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
Thanks!
Upvotes: 0
Views: 161
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