Is there any way to resolve promises before changing page in ionic2

I store certain information in SqlStorage. When I attempt to retrive that information I get a promise:

export class ProfileService {
  this.storage = new Storage(sqlStorage);

  get fname() {
    this.storage.get('fname');
  }
  ...
  ..

}

Now when displaying user’s profile, I need to display information from profile service:

@Page({
  ...
})
export class DisplayProfile {
  fname: AbstractControl;

  constructor(private _profile: ProfileService) {

     // SEE HERE
     this._profile.get('fname').then(value => {
       this.fname.value = value;
    });

    this._profile.get('lname').then(value=>{
     ...
   });
  }

}

As you can see above, I am resolving promises in the contructor of the Page. I rather have these promises resolved before page load (just like resolve blocks in Angular1 state change).

Any clue how I can achieve this ?

Perhaps you could share the Service between App.ts and DisplayProfile.

If DisplayProfile is in the content area of App.ts you can do the following.

Declare a provider in App.ts component providers and not declare it in DisplayProfile. It will make the two views to share injected services.

You can load the data after ProfileService is injected in the constructor of App.ts. After retrieve the data in App.ts you can set the the result/error functions of the promise returned by the service to load the DisplayProfile in App.ts content area.

Inject ProfileService also in DisplayProfile and just use it.