Quando usar o AJAX assíncrono ou síncrono

AJAX Assíncrono ou AJAX Síncrono?

AJAX, que  significa Asynchronous JavaScript And XML, é uma técnica que permite que as páginas da web sejam atualizadas de forma assíncrona, o que significa que o navegador não precisa recarregar a página inteira quando apenas um pequeno pedaço da página deva mudar. AJAX transmite somente as informações atualizadas para o servidor.

As aplicações padrão da Web processam interações entre os visitantes da Web e o servidor de forma síncrona. Isso significa que uma coisa acontece depois da outra. O servidor não é multitarefas. Se você clicar em um botão, a mensagem será enviada ao servidor e a resposta será retornada. Não é possível interagir com outros elementos da página até que a resposta seja recebida e a página seja atualizada.

Obviamente, este tipo de atraso pode afetar negativamente a experiência de um visitante da web – aí entra o AJAX.

O QUE É AJAX?

AJAX não é uma linguagem de programação, mas uma técnica que incorpora um script do lado do cliente (ou seja, um script que é executado no navegador de um usuário) que se comunica com um servidor web. Além disso, seu nome é um pouco enganador: enquanto um aplicativo AJAX pode usar XML para enviar dados, ele também pode usar apenas texto simples ou JSON. Mas geralmente, ele usa um objeto XMLHttpRequest no seu navegador (para solicitar dados do servidor) e JavaScript para exibir os dados.

AJAX: SÍNCRONO OU ASSÍNCRONO

O AJAX pode acessar o servidor de forma síncrona e assíncrona:

De forma síncrona , em que o script pára e aguarda que o servidor envie de volta uma resposta antes de continuar.
De forma assíncrona , em que o script permite que a página continue a ser processada e processa a resposta se e quando ela chega.

Processar o seu pedido de forma síncrona é semelhante ao recarregar a página, mas apenas as informações solicitadas são transferidas em vez de toda a página.

Portanto, usar AJAX de forma síncrona é mais rápido do que não usá-lo em tudo – mas ainda exige que o visitante aguarde até que o download ocorra antes de qualquer interação com a página. Normalmente, os usuários sabem que às vezes precisam esperar uma página carregar.

Processar seu pedido de forma assíncrona evita o atraso enquanto a recuperação do servidor ocorre porque o visitante pode continuar a interagir com a página da web; As informações solicitadas serão processadas em segundo plano e a resposta atualizará a página como e quando ela chega. Além disso, mesmo que uma resposta seja atrasada – por exemplo, no caso de dados muito grandes – os usuários podem não realizá-lo porque eles estão ocupados em outro lugar na página. No entanto, para a maioria das respostas, os visitantes nem sequer estão cientes de que uma solicitação para o servidor foi feita.

Portanto, a maneira preferida de usar AJAX é usar chamadas assíncronas sempre que possível. Esta é a configuração padrão no AJAX.

POR QUE USAR AJAX SÍNCRONO?

Se as chamadas assíncronas proporcionam uma experiência de usuário melhor, por que o AJAX oferece uma maneira de fazer chamadas síncronas?

Enquanto as chamadas assíncronas são a melhor escolha na grande maioria das vezes, existem raras situações em que não faz sentido permitir que o visitante continue a interagir com a página da Web até que um determinado processo do lado do servidor seja concluído.

Em muitos desses casos, pode ser melhor não usar o AJAX e apenas recarregar a página inteira. A opção síncrona no AJAX está lá para o pequeno número de situações em que você não pode usar uma chamada assíncrona, mas recarregar a página inteira é desnecessário. Por exemplo, talvez seja necessário manipular algum processamento de transações no qual a ordem seja importante. Considere um caso em que uma página da web precisa retornar uma página de confirmação depois que o usuário clicou em algo. Isso requer a sincronização das solicitações.

Log in with your credentials

Forgot your details?