Anonim

Per impostazione predefinita, la richiesta $ .ajax in jQuery è impostata su asincrona. Il nome della variabile è asincrono e il valore è impostato su true. Questo mi ha dato anche un po 'di confusione quando ho appreso per la prima volta, quindi andiamo oltre.

Asincrono vs. Sincrono

L'impostazione predefinita in jQuery. Nella mia esperienza, Asincrono dovrebbe quasi sempre fare il trucco. Ci sono anche 2 situazioni in particolare che non consentono nemmeno una chiamata sincrona.

  • Richieste interdominio. Se sto facendo una richiesta Ajax da techjunkie.com a un file su whereever.com (un dominio completamente diverso), sarebbe una richiesta interdominio.
  • jsonp - Se stai cercando di recuperare i dati tra domini JSON, JSONP è quello che stai cercando.

Quando utilizzare Synchronous

Dovresti prima essere consapevole del fatto che l'impostazione asincrona su false congela il tuo browser. Lo blocca completamente. Non solo la tua pagina, ma ogni pagina che l'utente potrebbe avere aperta. Ad esempio, se il tuo server rallenta a metà richiesta, hai effettivamente disabilitato il loro browser fino a quando il tuo server ha la possibilità di recuperare e trasmettere i dati necessari.

Invece di rischiare con una chiamata sincrona, basta specificare una funzione di callback in caso di successo o errore. Si arriva allo stesso endpoint senza rovinare l'esperienza di navigazione dell'utente. In breve, non usare una chiamata sincrona. Fa male alla tua applicazione e alla tua UX.

Differenza tra sincrono e asincrono in ajax