Sequência de execução - javaScript

10/02/2021

0

Pessoal, bom dia!
Estou com algumas dificuldades na execução do Javascript.
Ele não segue as etapas que eu gostaria na execução.
Traz do banco de dados certinho os dados, mas ao executar as etapas na sequencia que eu gostaria: 1-2-3 ele não executa. Ele executa a sequencia 1-3-2.
Quando chamado o Storage.get() ele retorna antes de trazer os dados do banco.
Poderia me ajudar?
const Conection = {
makeRequest (method, url) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.onload = function () {
if (this.status >= 200 && this.status < 300) {
resolve(xhr.response);
} else {
reject({
status: this.status,
statusText: xhr.statusText
});
}
};
xhr.onerror = function () {
reject({
status: this.status,
statusText: xhr.statusText
});
};
xhr.send();
});
}
}

const Storage = {
get() {
/*
ETAPA 1
*/
let transactions = JSON.parse(localStorage.getItem('dev.finances:transactions'));
console.log('1) ' + typeof transactions);

if (!transactions) {

/*
ETAPA 2
*/
transactions = Conection.makeRequest('GET', 'ajax/data-transactions.php')
.then(function (dataTransactions) {
console.log('2) ' + typeof dataTransactions);

return JSON.parse(dataTransactions);
})
.catch(function (err) {
console.error('Erro ao conectar com o banco de dados, procure o Administrador do Sistema!', err.statusText);
alert('Erro ao conectar com o banco de dados, procure o Administrador do Sistema!');
})
}
/*
ETAPA 3
*/
console.log('3) ' + typeof transactions);
return transactions;
},
set(transactions){
localStorage.setItem('dev.finances:transactions', JSON.stringify(transactions));
}
}
Robson Júnior

Robson Júnior

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar