Tengo una aplicación Ionic 2 que realiza una autenticación en mi backend de Rails 5. Una vez que el usuario inicia sesión, almaceno su información en el almacenamiento local. Entonces, una vez que el usuario abre las aplicaciones y ya ha iniciado sesión antes, se debe omitir la página de inicio de sesión. Estoy tratando de hacer eso en mi app.component configurando mi página raíz dependiendo de si hay información sobre el usuario en el almacenamiento local o no, pero el método storage.get parece ser asíncrono, por lo que se ejecuta después de mi verificación, entonces siempre lo está considerando falso.
¿Alguna idea de cómo podría arreglar eso?
Puede configurar la página raíz después de obtener el valor del almacenamiento de esta manera:
@Component({ templateUrl: 'app.html' }) export class MyApp { @ViewChild(Nav) navCtrl: Nav; public rootPage; // Just declare the property, don't set a value here constructor(...) { this.platform.ready().then(() => { Splashscreen.hide(); // Get the status from the storage this.storage.get('login:status').then(loggedIn => { this.rootPage = loggedIn ? HomePage : LoginPage; }); }); } }En este caso, si el usuario ya ha iniciado sesión, la página raíz será la página de inicio y, si no ha iniciado sesión, la página de inicio de sesión.