I am new to the world of angular and ionic. I have a main function that executes a command in the database if this command fails, it calls another function. So that's fine, except that the call function does not execute correctly, because inside it I call a function that does an update in the local bank, only this function is executed only when it reads all the lines of that function, even though I put this function in the first row of my method, it only runs at the end. Eh as if I ignored the function and executed all the other lines and when all the other lines are executed yes yes it performs my function. Can you understand? Does anyone know why this happens? Follow the codes.
if (this.conectividade.isOnlineCheck()) {
this.web_service_romaneio.confirmacaoBaixa(body).subscribe(data => {
if (data == true) {
//successs
} else {
alert(JSON.stringify(data));
}
}, erro => {
erro = true;
});
} else {
//Essa eh a funcao que chamo
this.salvarOffLine(this.id_romaneio);
}
if (erro) {
//Essa eh a funcao que chamo
this.salvarOffLine(this.id_romaneio);
} else {
}
// Essa eh funcao que chama la em cima e que so executa o update no banco quando acaba a funcao
salvarOffLine(id) {
this.loading2 = this.loadingCtrl.create({
content: 'Nao foi possivel conectar ao servidor. Salvando dados para uma proxima conexão.'
});
this.loading2.present();
// FUncao que eh ignorada
this.retornoUpdate = this.bd_local.updateRomaneioConfirmacao(id, 0);
alert(JSON.stringify(this.retornoUpdate));
this.loading2.dismiss();
}
And this is the code of the function that is "ignored", which is inside a provider
.
updateRomaneioConfirmacao(codigo, flag) {
/*
0 - Para identificar que a nota nao foi baixada no webservice pois ocorreu um erro de conexao
1 - Para identificar que a nota foi baixada corretamente
*/
this.sqlite.create({
name: 'infoged.db',
location: 'default'
}).then((db: SQLiteObject) => {
db.executeSql("UPDATE tb_romaneio SET romaneio_statusEntrega = 1, romaneio_sincronizada ="+ flag +" where id_romaneio = '" + codigo + "'", [])
.then(ed => alert(JSON.stringify(ed)))
.catch(e => alert(JSON.stringify(e)));
}).catch(e => alert(JSON.stringify(e)));
}