0

tenho um requisição $http.get em minha aplicação conforme pode ser visto em AngularJS ng-repeat não retorna dados, retorna sempre vazio

Porém estou recebendo um Warning no console do browser com a seguinte mensagem:

Synchronous XMLHttpRequest on the main thread is deprecated 
because of its detrimental effects to the end user's experience.

Como posso fazer para resolver?

7
  • Qual o código que causa este warning? Este está sendo exibido pelo Chrome recentemente quando você tenta executar o método open de uma XMLHttpRequest com o terceiro parâmetro como false, que impede que a requisição seja assíncrona. Commented 7/04/2015 às 22:35
  • GuilhermeNagatomo, aqui está meu código: pt.stackoverflow.com/questions/57324/…. E sim, está sendo exibido no crhome no momento que acesso a view que faz o acesso aos dados Commented 7/04/2015 às 22:38
  • Qual versão do Angular você está usando? Commented 7/04/2015 às 22:40
  • versão 1.3.14 CDN Google Commented 7/04/2015 às 22:43
  • Olhando rápido pelo fonte do Angular, não parece que o problema seja nele. Haveria algum outro código que se utilize de ajax fora do Angular? O warning não indica no console a linha onde é ativado? Commented 7/04/2015 às 22:48

1 Resposta 1

1

Causas possíveis:

  • Se o retorno do seu request $http.get possuir uma menção a um arquivo javascript, o jQuery (assim como outras bibliotecas) tentará carregar o arquivo mencionado em modo síncrono (já que ele assume que você precisa do arquivo JS para interpretar o conteúdo sendo transmitido.
  • Se sua requisição (que na prática se traduz como uma solicitação XMLHttpRequest) estiver sendo executada na thread principal e sem a flag indicando uma operação assíncrona - por exemplo, $.ajax() com async: false.

Soluções: Faça sua requisição em uma thread separada, ou utilize a flag async: true no jQuery.

Esta mensagem é nativa do browser. O jQuery, por implementar carga síncrona, pode disparar o aviso.

Você deve fazer log-in para responder a esta pergunta.

Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag .