I have the following method in auth.nav.service.ts:
 public login () {
  this.authService.login();
  this.navService.redirectAfterLogin();
}
in nav.service.ts:
public redirectAfterLogin () {
  let nav = this.app.getRootNav();
  nav.setRoot(TabsPage);
  nav.popToRoot();
}
In Auth.service.ts:
public login() {
  const client = new Auth0Cordova(auth0Config);
  const options = {
    scope: 'openid profile offline_access'
  };
client.authorize(options, (err, authResult) => {
  if(err) {
    throw err;
  }
  this.setIdToken(authResult.idToken);
  this.setAccessToken(authResult.accessToken);
  const expiresAt = JSON.stringify((authResult.expiresIn * 1000) + new Date().getTime());
  this.setStorageVariable('expires_at', expiresAt);
  this.auth0.client.userInfo(this.accessToken, (err, profile) => {
    if(err) {
        throw err;
    }
    profile.user_metadata = profile.user_metadata || {};
    this.setStorageVariable('profile', profile);
    this.zone.run(() => {
        this.user = profile;
      });
    });
  });
}
I want to have the login function ran successfully and the use the RedirectAfterLogin. How can I do that with Promise ? I'm using Angular 2, Ionic-Native 3 and auth0.