Ich lerne Ionic 2. Ich habe einige Daten in ionischen lokalen Speicher gespeichert in einem SomeComponent und retriving das gleiche in Userservice Backend zu rufen, aber storage.get()
Methode gibt Versprechen zurück, so kann ich keine Daten daraus bekommen, wie ich über Versprechungen erfahren habe. Kann mir jemand besser helfen, diesen Job zu erledigen? Danke, wenn überhaupt.Local Storage in Ionic 2 nicht in der Lage den Zugang, die außerhalb dann Daten() -Methode
Hier ist mein Code.
export class SomeComponent {
user: User;
usename: string;
password: string;
constructor(
public navParams: NavParams,
public navController: NavController,
public loginService: LoginSevice,
public storage: Storage) {
}
login() {
this.loginService.login(this.username, this.password).subscribe(response => {
this.user = response;
this.storage.set('userId', this.user.userId);
this.storage.set('authcode', this.user.authCode);
});
}
}
Und der Service ist
export class UserService {
userId: string;
constructor(public http: Http, public storage: Storage){}
fetchUserInfo(): Observable<User> {
this.storage.get('userId').then((val) => {
console.log(val); // available only inside then() method
this.userId = val;
});
let user = btoa(this.userId); // userId is undefined
return this.http.get(`${this.baseUrl}/user/${user}/details`, {headers:
this.headers})
.map(res =>res.json());
}
}
}
Mögliches Duplikat [Wie kann ich die Antwort von einem asynchronen Aufruf zurückkehren?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an -asynchroner Anruf) – echonax
@echonax Hallo Sir, gibt es eine andere Möglichkeit zum Speichern und Abrufen von Daten aus dem lokalen Speicher in ionischen. –
Ich bin nicht wirklich mit ionischen Erfahrung. Aber die offizielle Dokumentation schlägt vor, das zu verwenden, also denke ich, dass das das Beste sein würde. – echonax