WaBis

walter.bislins.ch

Async: Funktionen

Async : Demo | Download | Anwendung | Klasse | Properties | Funktionen
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

CAsync Konstruktor

new CAsync( )

Return: CAsync

Dieser Konstruktor erzeugt ein neues CAsync Objekt. Man kann statt dessen auch das globale Async Objekt verwenden.

CAsync.Call()

CAsync.Call( Func, Params, BeforeCallCB, AfterCallCB )

Func: Function
doReapeat = Func( Params )
Params: Object; Optional
Dieses Objekt wird an die Funktionen Func, BeforeCallCB und AfterCallCB übergeben.
BeforeCallCB: Function; Optional
BeforeCallCB( Params ) wird gerufen, bevor Func gerufen wird.
AfterCallCB: Function; Optional
AfterCallCB( Params ) wird gerufen, nachdem Func ausgeführt wurde.

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:

  1. BeforeCallCB( Params ), sofern definiert
  2. Pause (Script wird unterbrochen, um anderen Prozessen Zeit zu geben)
  3. Func( Params )
  4. AfterCallCB( Params ), sofern definiert

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()

CAsync.CallObj( Obj, Func, Params, BeforeCallCB, AfterCallCB )

Obj: Object
Func: Function
doReapeat = Obj.Func( Params )
Params: Object; Optional
Dieses Objekt wird an die Funktionen Func, BeforeCallCB und AfterCallCB übergeben.
BeforeCallCB: Function; Optional
Obj.BeforeCallCB( Params ) wird gerufen, bevor Func gerufen wird.
AfterCallCB: Function; Optional
Obj.AfterCallCB( Params ) wird gerufen, nachdem Func ausgeführt wurde.

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()

CAsync.CallDefered( Delay, Func, Params, BeforeCallCB, AfterCallCB )

Delay: Integer(>=0)
Verzögerungszeit in Millisekunden
Func: Function
doReapeat = Obj.Func( Params )
Params: Object; Optional
Dieses Objekt wird an die Funktionen Func, BeforeCallCB und AfterCallCB übergeben.
BeforeCallCB: Function; Optional
Obj.BeforeCallCB( Params ) wird gerufen, bevor Func gerufen wird.
AfterCallCB: Function; Optional
Obj.AfterCallCB( Params ) wird gerufen, nachdem Func ausgeführt wurde.

Gleiche Funktion wie Call(), jedoch wird Func mit einer Verzögerung von Delay Millisekunden ausgeführt.

 Für weitere Informationen siehe Call()

CAsync.CallObjDefered()

CAsync.CallObjDefered( Delay, Obj, Func, Params, BeforeCallCB, AfterCallCB )

Delay: Integer(>=0)
Verzögerungszeit in Millisekunden
Obj: Object
Func: Function
doReapeat = Obj.Func( Params )
Params: Object; Optional
Dieses Objekt wird an die Funktionen Func, BeforeCallCB und AfterCallCB übergeben.
BeforeCallCB: Function; Optional
Obj.BeforeCallCB( Params ) wird gerufen, bevor Func gerufen wird.
AfterCallCB: Function; Optional
Obj.AfterCallCB( Params ) wird gerufen, nachdem Func ausgeführt wurde.

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()

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()

CAsync.StartTimer( )

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.IsTimerExpired( Time )

Time: Integer(>=0);Optional;Default=RunTime
Testzeit in Bezug auf die Zeit seit StartTimer() in Millisekunden
Return: Boolean
true, wenn seit StartTimer() mehr als Time Millisekunden vergangen sind

CAsync.GetElapsedTime()

CAsync.GetElapsedTime( )

Return: Integer(>=0)
Zeit in Millisekunden sein dem letzten Aufruf von StartTimer()
Weitere Infos zur Seite
Erzeugt Montag, 10. Februar 2014
von wabis
Zum Seitenanfang
Geändert Montag, 1. August 2016
von wabis