TaskSuccessful
value TaskSuccessful ( value task );
Rückgabewert
Rückgabewert |
Beschreibung |
TRUE / true / 1 |
Die Hintergrundaufgabe des TASK-Objekts task wurde erfolgreich abgearbeitet und beendet. |
FALSE / false / 0 |
Die Abarbeitung der Hintergrundaufgabe des TASK-Objekts task fehlgeschlagen. |
Parameter
rest
Das gültige TASK-Objekt, bei dem geprüft werden soll, ob dessen Hintergrundaufgabe erfolgreich abgearbeitet wurde.
Bemerkungen
Prüft, ob die Hintergrundaufgabe des TASK-Objekts task mit Erfolg abgearbeitet wurde.
Ein Abfrage von TaskSuccessful, ohne dass vorher TaskFinished auf TRUE geprüft wurde, sollte vermieden werden, denn das Ergebnis von TaskSuccessful ist nur dann aussagekräftig, wenn die Hintergrundaufgabe tatsächlich beendet wurde.
Beispiel
////////////////////////////////////////////////////////////////////// //Globale Variablen value rest = 0; value task = 0; value RestWorker = 0; value REST_CONNECT_START = 0; value REST_CONNECT_RUNNING = 10; value REST_REQUEST_START = 20; value REST_REQUEST_RUNNING = 30; value REST_REQUEST_DONE = 40; value REST_ERROR = -100; value REST_STANDBY = -1; string strLastError; string strResponse; ////////////////////////////////////////////////////////////////////// //_MainCycle // ////////////////////////////////////////////////////////////////////// switch (RestWorker) case REST_CONNECT_START: //ip.jsontest.com liefert als Antwort die IP-Adresse des anfragenden Clients task = RestConnectAsync(rest, "http://ip.jsontest.com"); if (task == NULL) RestWorker = REST_ERROR; break; end RestWorker = REST_CONNECT_RUNNING; break; case REST_CONNECT_RUNNING: if (TaskFinished(task)) if(!TaskSuccessful(task)) RestWorker = REST_ERROR; else TaskClose(task); RestWorker = REST_REQUEST_START; end end break; case REST_REQUEST_START: task = RestFullRequestAsync(rest, "GET", "/"); if (task == NULL) RestWorker = REST_ERROR; break; end RestWorker = REST_REQUEST_RUNNING; break; case REST_REQUEST_RUNNING: if (TaskFinished(task)) if(!TaskSuccessful(task)) RestWorker = REST_ERROR; break; else TaskGetResultString(task, strResponse); strResponse = JsonExpand(strResponse); //Inhalt von strResponse: //{ // "ip": "82.165.12.98" //} RestWorker = REST_REQUEST_DONE; end end break; case REST_ERROR: if (rest != NULL) if (task != NULL) strLastError = TaskGetLastError(task); else strLastError = RestGetLastError(rest); end end RestWorker = REST_REQUEST_DONE; break; case REST_REQUEST_DONE: if (task != NULL) TaskClose(task); end RestDisconnect(rest); RestWorker = REST_STANDBY; break; end
Siehe auch TaskGetResultArray, TaskGetResultBool, TaskGetResultInt, TaskGetResultString