Async Funktionen | |
---|---|
CAsync Konstruktor | erzeugt ein CAsync Objekt |
Call() | Fügt eine Funktion in die Warteliste ein |
CallObj() | Fügt eine Memberfunktion in die Warteliste ein |
CallDefered() | Fügt eine Funktion in die Warteliste ein, Ausführung mit Verzögerung |
CallObjDefered() | Fügt eine Memberfunktion in die Warteliste ein, Ausführung mit Verzögerung |
Stop() | Löscht die Warteliste und Cancelt damit die Ausführung der darin enthaltenen Funktionen |
StartTimer() | Startet den Timer |
IsTimerExpired() | Testet, ob seit StartTimer() eine bestimmte Zeit abgelaufen ist |
GetElapsedTime() | Gibt die Zeit in [ms] zurück, die seit StartTimer() abgelaufen ist |
new CAsync( )
Dieser Konstruktor erzeugt ein neues CAsync Objekt. Man kann statt dessen auch das globale Async Objekt verwenden.
CAsync.Call( Func, Params, BeforeCallCB, AfterCallCB )
Nimmt die Funktion Func in die Warteliste des Async zur späteren Ausführung auf. Der Funktion Func können Argumente im Objekt Params übergeben werden. Die Ausführung von Func wird gestartet, wenn das JavaScript, welches Call() aufgerufen hat, beendet ist und alle Funktionen in der Warteliste vor Func ausgeführt sind.
Wenn in der Funktion Func ein Fehler auftritt, bestimmt das Property OnException, was weiter geschehen soll. Standardmässig wird eine Messagebox mit der Fehlermeldung angezeigt, die Ausführung des Scripts mit Stop() abgebrochen und das Exception wird an den Browser zurückgegeben. Dieses Verhalten kann durch eine eigene Funktion geändert werden, welche OnException zugewiesen wird. In jedem Fall wird jedoch noch die Funktion AfterCallCB gerufen, in welcher Aufräumarbeiten programmiert werden können.
Fehler, welche in einer der Funktionen BeforeCallCB und AfterCallCB auftreten, werden ignoriert. Das Script wird dadurch nicht abgebrochen.
Der Aufruf der Funktionen ist wiefolgt:
Die Funktion BeforeCallCB eignet sich dafür, eine Fortschrittsmeldung in die HTML Seite zu schreiben. Da unmittelbar danach die Pause ausgeführt wird, erscheint diese Meldung auf dem Schirm, solange, bis sie ersetzt oder gelöscht wird.
CAsync.CallObj( Obj, Func, Params, BeforeCallCB, AfterCallCB )
Gleiche Funktion wie Call(), jedoch wird keine globale Funktion Func gerufen, sondern eine Member-Funktion von Obj. Beachte, dass auch BeforeCallCB und AfterCallCB Memberfunktionen von Obj sein müssen.
Für weitere Informationen siehe Call()
CAsync.CallDefered( Delay, Func, Params, BeforeCallCB, AfterCallCB )
Gleiche Funktion wie Call(), jedoch wird Func mit einer Verzögerung von Delay Millisekunden ausgeführt.
Für weitere Informationen siehe Call()
CAsync.CallObjDefered( Delay, Obj, Func, Params, BeforeCallCB, AfterCallCB )
Gleiche Funktion wie CallDefered(), jedoch wird keine globale Funktion Func gerufen, sondern eine Member-Funktion von Obj. Beachte, dass auch BeforeCallCB und AfterCallCB Memberfunktionen von Obj sein müssen.
Für weitere Informationen siehe CallDefered() und Call()
CAsync.Stop( )
Löscht die Warteliste mit den Funktionen, welche mit einer der Call() Funktionen in die Warteliste aufgenommen worden sind. Die Ausführung des Scripts wird dadurch beendet. Wurde mit der aktuell ausgeführten Funktion auch eine AfterCallCB definiert, wird diese noch aufgerufen, bevor das Script beendet wird.
Stop() macht Sinn, wenn der Benutzer eine gerade laufende Ausgabe durch eine Aktion abbrechen will.
CAsync.StartTimer( Time )
Diese Funktion startet den Async-Timer. Diese Funktion muss am Anfang einer von Call() aufgerufenen Funktion gerufen werden, um die Run-Time zu stoppen. Die Funktion IsTimerExpired() misst die verbrauchte Run-Time ab diesem Zeitpunkt.
CAsync.IsTimerExpired( )
CAsync.GetElapsedTime( )