Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CrazyLOL

Multipla execucoes de funcoes

Recommended Posts

Galera to com uma duvida, estou mexendo em um app hybrido aqui no phonegap e usando sqlite, tudo certo ate ai, o problema esta sendo no seguinte caso, tenho uma funcao que popula minha tabela no sqlite conforme os dados que tenho na minha aplicacao web..

 

Minha funcao:

function inserirDados(tabela,data_cadastro) {
    Funcoes.showLoad();
    $.ajax({
            url : url+"procDB.php",
            type: "POST",
            dataType : "json",
            async: false,
            data: {
                acao: 'PopularDados',
                tabela: tabela,
                data: data_cadastro
            },
            success : function(json){
                //possui dados
                if(json.result == true){
                    db.transaction(
                        function (tx) {
                            $.each(json.dados,function(i,obj){
                              //console.log(obj);
                               tx.executeSql(obj, [], successShow, handleErrors);
                            });
                            Funcoes.hideLoad();
                    });

                }else{  
                    //
                    Funcoes.hideLoad();
                }
                
            },
            error: function(){
               //finaliza transaction
               alert("ERRO para adicionar valores em: "+tabela);
               Funcoes.hideLoad();
            }
    });
}

Essa funcao quando eu chamo ela uma Vez executa OK...

 

Problema esta sendo quano preciso chamar ela repetidamente exemplo...

 

inserirDados();

inserirDados();

inserirDados();

[...]

 

Se fosse no PHP por exemplo, ele executaria a primeira funcao, quando terminasse, executaria a segunda e assim por diante... Porem no javascript ele esta executando as 3 ao mesmo tempo e as informacoes ficam incompletas..

 

Tentei utilizar o tal do WHEN mas nao tive sucesso..

 

O que me indicam??

 

Agradeco!

Compartilhar este post


Link para o post
Compartilhar em outros sites

muda para sincrono:

 async: false,

assim você terá esse comportamento ai do php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz, verdade.. eu falei o contrário. Desculpa.

Deixa false.

 

Como foi tua tentativa com o $.when ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha tentativa nao deu certo porque eu chamo esta funcao dinamicamente... esta funcao eu coloquei dentro de um loop, explicando de uma forma mais clara o que eu faço...

 

Eu tenho $.post que conecta em meu servidor e me traz todas as tabelas que tenho criado ( SQL: show table ), neste caso na hora que o post me retornar os nomes das tabelas eu percorro o array em json chamando a funcao para popular cada tabela...

 

o erro estava ocorrendo é que tem tabelas que possui varias informacoes, e a funcao estava sendo executada muito rapida e acabava pulando dados...

 

E quando eu tentei usar o WHEN precisava ja definir quantas vezes que iria chamar e etc, e como citei, precisava de algo dinamico, vamos supor que eu tenha criado uma nova tabela no banco online, neste caso eu iria precisar adicionar no app tambem a nova tabela e dessa forma que pensei em fazer deixa tudo facil.. ( eu acho.. kkk)

 

Vou fazer um teste mudando para False

 

 

o Async False nao esta funcionando.. :S

 

Ele continua executando as funcoes tudo junto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.