2011-04-03 19 views
8

¿Cuál es la diferencia entre las llamadas de AJAX sincronizadas y asincrónicas? ¿Cuándo utilizar la sincronización y cuándo es asíncrona?AJAX sync and async difference

+1

No existe el AJAX síncrono, ya que la primera "A" es para "asincronous". Está probalby hablando de llamadas sincrónicas [XHR] (https://developer.mozilla.org/en/xmlhttprequest). – user123444555621

Respuesta

14

En un nivel muy básico, utiliza un modo asincrónico cuando desea que la llamada se produzca en segundo plano y un modo síncrono cuando desea que su código espere hasta que se complete la llamada.

El modo asincrónico es el enfoque habitual para las llamadas AJAX, ya que generalmente adjunta una función de devolución de llamada al evento onreadystatechange para que pueda responder cuando los datos del lado del servidor estén listos, en lugar de esperar a que lleguen los datos.

4

Las solicitudes asincrónicas se producen en un de fondo subproceso, lo que significa que la UI no se bloqueará mientras se procesa la solicitud (hay muchas excepciones cuando se ingresa en estados y E/S, etc.)

Digamos que tenemos una llamada de servicio web de 10 segundos que debe realizarse. Si lo llama sincrónicamente, no podrá navegar a otras páginas, interactuar con la página web, etc. Si lo hace asíncrono, lo hará.