Ir para conteúdo

POWERED BY:

Arquivado

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

ronaldomarcos

Pausa em Loop até retorno do httprequest

Recommended Posts

Gostaria de saber se é possível usar break e continue dentro um loop for para esperar o retorno de uma pagina chamada em segundo plano com httprequest...

Isto é, em cada passagem do for, ele ler o arquivo esperar a resposta para status 200, e só após isso continuar o for.

Pelo que vi até agora, quando dou break não tem mais como continuar a mesma função, mas resolvi perguntar aqui, para ter certeza ou outra opção. Obrigado

for (index = 0; index < araay.length; index++) {
        
    xmlhttp.open("GET","http://www.exemplo.com.br/pagina.php",true);
    xmlhttp.send();

    xmlhttp.onreadystatechange = function() {
         switch( xmlhttp.readyState ) {
              case 4:
              {
                  if (xmlhttp.status === 200)
                    {
                      var txt = xmlhttp.responseText.split(","); 
                                 } else {
                    document.write("erro 200")
                    }
              }

           }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mude o ajax para sincrono

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, está síncrono, eu que fiz um 'resumo' do código aí e coloquei true... finalmente achei meu livro do guia javascript (no google a maioria são informações erradas), e vi que Break/Continue tem um funcionamento diferente do que eu imaginei e preciso. Pelo visto não existe opção do for espera uma instrução interna para dar continuidade.

Aproveitando William, já que é moderador, será que consigo recuperar uma conta no fórum que não tenho mais acesso ao email? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não não... está assincrono.

async: true (asynchronous) or false (synchronous)

deixe assim:

 

xmlhttp.open("GET","http://www.exemplo.com.br/pagina.php",false);
ai o loop vai sim esperar o ajax voltar para ir para o próximo.

 

 

Consegue sim, qual o email ou nome dessa conta ?

E faz quanto tempo que você não loga nela ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, eu estava enganado, eu achei entendi que o processamento acontecei síncrono ou assíncrono, mas retorno das mensagens não, ai coloquei alerts para mostrar o que estava acontecendo e não os via, mas nesse caso não aparecem mesmo. Obrigado.

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.