Ich habe gerade angefangen, in den Angular2 Change Detection Mechanismus zu gehen.angular2 Verstehen VM Turns und Ereignisse
Ich habe die Blog-Beiträge von Jeurram zu diesem Thema gelesen (die auf ZoneJS und auf Angular2-Zonen), aber es gibt immer noch einen Begriff, für den ich keine Definition finden kann.
Hier ist ein Auszug aus this Beitrag:
NgZone ist im Grunde eine gegabelt Zone, die seine API erweitert und fügt einige zusätzliche Funktionalität seiner Ausführungskontext. Eines der Dinge, es fügt dem API der folgende Satz von benutzerdefinierten Ereignissen, die wir abonnieren können, da sie beobachtbar Ströme sind:
onTurnStart() - Benachrichtigt Abonnenten kurz vor Angular Veranstaltung beginnt einzuschalten. Gibt ein Ereignis einmal pro Browser-Task aus, das von Angular verarbeitet wird.
onTurnDone() - Benachrichtigt Abonnenten unmittelbar nach Angular der Zone Verarbeitung des aktuellen Turn und alle Mikro Aufgaben aus diesem wiederum geplant erfolgt.
onEventDone() - Benachrichtigt Abonnenten unmittelbar nach dem finalen onTurnDone() - Callback, bevor das VM-Ereignis beendet wird. Nützlich für die Prüfung Validate Anwendungszustand
verstehe ich das Konzept einer Zone, und dass es das einzige Problem, das ich habe gegabelt werden kann, ist mit VM turn
und VM event
, für die ich keine Definition gibt.
Was sind diese VM-Ereignisse und -Wendungen? Sind sie Teil von ZoneJS, Angular oder nur der Browser?
Danke, Avi.
„Eine Zone wiederum scheint ein Mikrotaskanalysierer (Günter Zöchbauer in den Kommentaren) zu sein“ Zone verwandelt: http://stackoverflow.com/questions/37114478/what-are-zone-turns –
Also im Grunde die ZoneJS Bibliothek verwaltet eine Warteschlange, in der alle Zonenereignisse in die Warteschlange gestellt werden (zB 'onTurnDone' im Falle von NgZone)? Und ein VM/Zone-Turn ist der Prozess, ein solches ausstehendes Event aus dieser Warteschlange zu nehmen und auszuführen? –