Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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")
}
}
}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.
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 ?
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.
Mude o ajax para sincrono