Anonim

Zahteva $ .ajax v jQuery je privzeto nastavljena na asinhrono. Ime spremenljivke je async in vrednost je nastavljena na true. To me je tudi malo zmedlo, ko sem se prvič seznanil s tem, zato prečimo to.

Asinhrono proti sinhrono

Privzeta nastavitev v jQuery. Po mojih izkušnjah bi moral Asinhroni skoraj vedno narediti trik. Zlasti sta dve situaciji, ki niti ne omogočata sinhronega klica.

  • Zahteve med domenami Če vložim zahtevo ajax s strani techjunkie.com v datoteko na whereever.com (popolnoma drugačna domena), bi to bila zahteva za navzkrižno domeno.
  • jsonp - Če želite pridobiti podatke JSON meddomena, je JSONP tisto, kar iščete.

Kdaj uporabljati Synchronous

Najprej se zavedajte, da nastavitev asinhronizacije na lažno zamrzne vaš brskalnik. Zaklene, popolnoma. Ne samo vaše strani, ampak tudi vsako stran, ki jo lahko uporabnik odpre. Na primer, če vaš strežnik upočasni srednjo zahtevo, ste dejansko onemogočili njihov brskalnik, dokler se strežnik ne bo spoznal in posredoval potrebne podatke.

Namesto da bi tvegali s sinhronim klicem, samo določite funkcijo povratnega klica ob uspehu ali napaki. Dosežete se na isti končni točki, ne da bi morda pokvarili izkušnjo brskanja uporabnika. Skratka, ne uporabljajte sinhronega klica. Slaba za vašo aplikacijo in UX.

Razlika med sinhronim in asinhronim v ajaksu