Forskel mellem synkron og asynkron i Ajax

Som standard er $ .ajax-anmodningen i jQuery indstillet til asynkron. Det variable navn er async, og værdien er sat til true. Dette gav mig også lidt forvirring, når jeg først lærte om det, så lad os gå over det.

Asynkron vs Synkron

Standardindstillingen i jQuery. I min erfaring skal Asynkron næsten altid gøre det. Der er også 2 situationer, som ikke engang tillader et synkront opkald.

  • Kryds domæne anmodninger. Hvis jeg laver en ajax-anmodning fra techjunkie.com til en fil på whereever.com (et helt andet domæne), ville det være en forespørgsel på tværs af domæner.
  • jsonp - Hvis du søger at hente JSON data cross-domain, er JSONP det, du leder efter.

Hvornår skal du bruge Synkron

Du skal først være opmærksom på, at indstilling af async til falsk fryser din browser. Det låser det helt. Ikke kun din side, men hver side, som brugeren muligvis har åbent. Hvis din server f.eks. Sænker midten af ​​anmodningen, har du effektivt deaktiveret deres browser, indtil din server har mulighed for at indhente og passere de nødvendige data.

I stedet for at risikere det med et synkront opkald, skal du blot angive en tilbagekaldsfunktion på succes eller fejl. Du kommer til det samme endepunkt uden at ødelægge brugerens browseroplevelse. Kort sagt må du ikke bruge et synkront opkald. Det er dårligt for din ansøgning og UX.

Se Også