Som standard är $ .ajax-begäran i jQuery inställd till asynkron. Variabelns namn är async och värdet är satt till true. Detta gav mig lite förvirring också när jag först lärde mig om det, så låt oss gå igenom det.
Asynkron kontra synkron
Standardinställningen i jQuery. Enligt min erfarenhet bör Asynchronous nästan alltid göra tricket. Det finns också särskilt två situationer som inte ens möjliggör ett synkroniskt samtal.
- Cross domain-begäranden. Om jag gör en ajax-begäran från techjunkie.com till en fil på vart som helst.com (en helt annan domän), skulle det vara en begäran över flera domäner.
- jsonp - Om du letar efter att hämta JSON-data-domän är JSONP det du letar efter.
När man ska använda Synkron
Du bör först vara medveten om att inställning av async till falsk fryser din webbläsare. Den låser den helt. Inte bara din sida, utan varje sida som användaren kan ha öppen. Till exempel, om din server saktar ner efterfrågan, har du inaktiverat deras webbläsare till dess servern har en chans att fånga upp och passera den information som behövs.
I stället för att riskera det med ett synkront samtal, ange bara en återuppringningsfunktion för framgång eller fel. Du kommer till samma slutpunkt utan att möjligen förstöra användarens surfupplevelse. Kort sagt, använd inte ett synkront samtal. Det är dåligt för din applikation och UX.