Executar proxima função após finalizar a ultima
Galera estou com um pequeno problema.
Tenho uma função que dentro dela faço 2 verificacoes, que são outras 2 funções. Está funcionando em partes o problema está sendo o seguinte...
Pra deixar mais claro o codigo está abaixo:
/**
* Enviar uma campanha
*/
sentCampanha: function(value){
//verificar se já foi feito o envio desta campanha
CampanhaEmail._isSent(value);
if(CampanhaEmail.getStatusEnvio() > 0){
//já foi feito o envio
alert("Você já realizou o envio desta campanha");
}else{
// verificar se existe emails de clientes sem validar
CampanhaEmail.loadClienteCampanha(value);
if(CampanhaEmail.getTotalCliente() > 0){
if(confirm("Existe no momento "+CampanhaEmail.getTotalCliente()+" clientes para validar o Email, deseja realizar este processo agora?")){
CampanhaEmail.validarCliente(value,CampanhaEmail.getTotalCliente());
}else{
//faz nada
}
}else{
//limpa barra de progresso para caso ja tenha sido usada
Funcoes.cleanProgress();
//
Funcoes.showLoading();
//realiza o envio dos Emails Mostrando na barra de loading carregando
$("#conteudo").load(App.getUrl()+"com/modules/mkt/controller/CampanhaEmailController.php?acao=EnviarEmails&campanha="+value);
}
}
},
Na hora que eu chamo a função "SentCampanha", a primeira verificação que faço é se a campanha ja foi enviado ( 0 = nao foi, 1 = foi ), para isso eu chamo a função:
CampanhaEmail._isSent(value);
Dentro dela estou adicionando um set do resultado Ok até ai.
Segunda verificação, vejo o total de clientes que estão com Email invalido, retornando o total de clientes.
CampanhaEmail.loadClienteCampanha(value);
Também está certo.
O problema é que para executar cada função leva um certo tempo, até consultar no banco e retornar o total, entre esse intervalo de tempo o script continua executando e os valores dos "get" das duas funções vem com o valor zerado (instancio os valores das variaveis em 0), e tecnicamente ele envia a campanha mesmo ja tem sido enviada e mesmo tendo clientes invalidos.
A pergunta é, que maneira que posso fazer para quando entrar na primeira função de verificação se já foi feito envio ou nao ele só continue após finalizar ele, e a mesma coisa na segunda função?
Agradeço já a ajuda antecipadamente.
Discussão (3)
Carregando comentários...