У меня есть последовательность для проверки, если переменная хранения является нулевой. В случае нуля я создаю запись в базе, но при запуске на устройстве она выполняется одновременно, то есть применяемый логический порядок не такой, как в коде.
подписаться, вывести его из последовательности в асинхронном режиме
ionViewDidEnter() {
this.storage.get('token').then((val) => {
if (val === null || val == '') {
let toast = this.toastCtrl.create({
message: 'Msj 3',
showCloseButton: true,
cssClass: 'validation',
closeButtonText: 'Aceptar',
position: 'middle'
});
toast.present();
this.myRand = this.random(50);
this.storage.set('token', this.myRand);
/* Registro token APP*/
this.usuarios.registreToken(val).subscribe(
(data) => {
if (data['_body'] == '"ok"') {
let toast = this.toastCtrl.create({
message: 'Create token',
showCloseButton: true,
cssClass: 'validation',
closeButtonText: 'Aceptar',
position: 'middle'
});
toast.present();
}
else {
let toast = this.toastCtrl.create({
message: "Don't Create token",
showCloseButton: true,
cssClass: 'validation',
closeButtonText: 'Aceptar',
position: 'middle'
});
}
},
(error) => {
console.error(error);
}
);
}
});
}
Когда я компилирую на устройстве, порядок, который я вижу в сообщении: не создавайте токен, затем Msj 3 и, наконец, Msj 2. Почемусообщения отображаются в таком порядке, а не наоборот?