Rückkehr ein Versprechen Wert im Winkel 2, Ionen-2
Bin ich vertraut, mich mit Angular2, Ionic2 und
vielleicht bin ich Missverständnis etwas, aber hatte gehofft, für die Unterstützung.
Ich habe einen Anbieter namens 'CurrentUser' für den Zweck der Speicherung und abrufen LocalStorage-Daten.
getProfile(): any {
this.local.get("user-profile").then((profile) => {
var val = JSON.parse(profile);
return val;
});
}
diese Funktion getProfile()
gibt ein Versprechen
Wenn ich Spritzen dieser Anbieter in einer Komponente. Wie würde ich erwarten, das Versprechen, zu beheben, bevor Sie das zuweisen der Daten beim aufrufen dieser Funktion aus der Komponente?.
@Component({
templateUrl: 'build/pages/book_meeting/book_meeting.html'
})
export class BookMeetingPage implements OnInit {
constructor(public navCtrl: NavController, private _currentUser: CurrentUser) {
}
profile: IProfile;
ngOnInit(): any {
this.profile = this._currentUser.getProfile();
console.log(this.profile);//returns undefined
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst müssen Sie zurück
this.local.get("user-profile")
Versprechen vongetProfile
- Funktion, so dass es die Kette, wenn Sie anrufen. Danach können Sie die Daten zurückgegeben, die vongetProfile
Funktion in.then
Erfolgs-callback.Darüber hinaus können Sie nicht die Daten, sobald Sie machen eine ajax -, auf den Erfolg kann man sich die Antwort
this.local.get("user-profile")
zureturn this.local.get("user-profile")
Ihre Funktion getProfile nicht wieder ein Versprechen. Es gibt nichts zurück.
Sie sollten es ändern, um
Nun in der Komponente, können Sie extrahieren Sie die Daten aus Ihrem Profil Versprechen variable.