I have this function that populates the currsong variable with data.
The problem is that the variable currsong is only available inside the function and I need to access it globally.
// get a single audio url
echonest.artist(artist).audio( function(audioCollection) {
var currsong = audioCollection.data.audio[0].url;
return currsong;
});
Thank you!
To declare a global variable, you can always remove
var:I’m not sure if a global variable is a good solution for whatever you’re trying to do, though. People suggest to avoid them for reason.
edit
An example.
Note, the variable will be undefined before function is executed first time. In your code, you only pass it into
audio, you don’t actually invoke it.edit2
As Tgr notes, you can also declare global variable explicitly:
window.currsong = .... There’s no functional difference, but it improves code quality.