Javascript promise won't resolve before exiting funciton

I am attempting to get the current session in javascript. The issue I am running into is the Promise will not resolve unless I am debugging and use a breakpoint. Here is my code (NOTE: placing a breakpoint at “return values” causes the promise to populate the values object EVERY TIME. Without the breakpoint the object NEVER gets populated.)

function GetSession(authClient, i) {

      var values = { userId: '', sessionId: ''};
        .then(result => {
          values.userId = result.userId;
          values.sessionId =;
        }).catch(err => alert(err));

      return values;

Anyone have any ideas?