2010-08-03 9 views

risposta

50

Asincrono significa che lo script invierà una richiesta al server e continuerà la sua esecuzione senza attendere la risposta. Non appena viene ricevuta una risposta, viene attivato un evento del browser, che a sua volta consente allo script di eseguire azioni associate.

Ajax sa quando estrarre i dati dal server, perché gli dici quando farlo.

+1

"Ajax sa quando tirare i dati dal server, perché gli si dice quando farlo." Come lo faccio? – JCX

+6

Tu, come creatore dello script, digli di inviare una richiesta al server quando vengono soddisfatte determinate condizioni (ad esempio: "quando DOM è pronto", "quando l'utente preme questo pulsante", "quando il valore nel campo di testo cambia", 'ogni 5s', ecc.). – Mchl

+0

dove posso trovare i codici di riferimento per questo? – JCX

6

Quasi ciò che significa in qualsiasi altro contesto. Quando fai una chiamata Ajax, non blocca fino a quando non ritorna.

2

I browser non danno accesso al modello di threading, quindi abbiamo solo un singolo thread per gestire l'interfaccia utente. Quindi, tutte le modifiche nell'applicazione si trovano nello stesso thread.

Fortunatamente, i browser espongono diverse API asincrone, come XHR (XMLHttpRequest), noto anche come AJAX. Quando registri un gestore di eventi per alcuni oggetti, l'azione per questo oggetto verrà eseguita in un altro thread e il browser attiverà l'evento nel thread principale.

Così asincrono significa che il browser non aspetterà quando il thread principale è libero di eseguire l'azione