ich dies zu lesen:Javascript-Ereignisschleife. Klärungsbedarf
http://blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/
Es gibt dieses Zitat:
„der einzige Thread der Ausführung der Laufzeit fragt einen Betrieb und bietet eine Callback-Funktion und dann Bewegungen auszuführen zu tun etwas anderes.Wenn der Vorgang abgeschlossen wurde, ist eine Nachricht in die Warteschlange eingereiht zusammen mit der zur Verfügung gestellten Callback-Funktion.An einem bestimmten Punkt in der Zukunft, die Nachricht wird aus der Warteschlange und der Rückruf wurde ausgelöst. "
So ein Beispiel dafür, was in meinem Kopf ist hier los ist dies:
console.log("x")
someAjaxCall(function({
callbackcode
})
console.log("y")
Fragen:
1) someAjaxCall der richtige Betrieb ist und callbackcode ist der Rückruf?
2) Also im Grunde, wenn einAjaxCall aufgerufen wird, wird eine Nachricht in die Warteschlange eingereiht, die auf die Callbackfunktion zeigt richtig? Nachdem console.log ("y") aufgerufen wurde oder wenn der Stack geleert wurde, wird die Nachricht aus der Warteschlange entfernt und der Callback/Callbackcode wird ausgelöst.
Dann gibt es dieses Zitat:
„Die Entkopplung des Anrufers aus der Antwort ermöglicht den JavaScript Runtime andere Dinge zu tun, während für Ihren asynchronen Betrieb warten zu vervollständigen und ihre Rückrufe zu schießen.“
3) Was ist die Laufzeit? Was bedeutet das? Ich nehme nur an, dass der Callstack die Ausführung fortsetzen kann und wenn er leer ist ... können die Nachrichten dann aus der Warteschlange entfernt werden?
Die Antwort auf diese Frage [Wie behandelt JavaScript AJAX-Antworten im Hintergrund?] (Http://stackoverflow.com/questions/7575589/how-does-javascript-handle-ajax-responses-in-the-background/7575649 # 7575649) beantwortet wahrscheinlich das meiste von dem, was Sie fragen. Diese Frage ist vielleicht sogar eine kleine Wiederholung. – jfriend00