I have a string which I need in multiple functions. Therefore I want to save it in a variable. 
But when I try to assign it inside a function it doesn't update the variable.
var auth_code = "na";
function safeAuthCode(authcode){
  auth_code = authcode;
  console.log(auth_code);
}
"auth_code" prints just fine in the console at that point, but when I try to use it later it just contains "na". 
Not sure what I'm doing wrong tbh :/
Edit:
This is the function in which safeAuthCode is called:
function auth(){
  chrome.identity.launchWebAuthFlow({
    "url": "https://accounts.spotify.com/authorize?client_id="+client_id+
    "&redirect_uri="+ encodeURIComponent(redirectUri) +
    "&response_type=code"+
    "&scope=" + encodeURIComponent(scopes),
    "interactive": true
  },
  function(redirect_url) {
    var url = new URL(redirect_url);
    var code = url.searchParams.get("code");
    safeAuthCode(code);
  });
}
 
     
    