TsgcHTTP2Client › Methoden › GetFuture
Führt einen HTTP/2-GET in einem Hintergrundthread aus und gibt ein Future zurück, das sich zum Antwort-Body auflöst.
function GetFuture(const aURL: string): IsgcFuture<string>;
| Name | Typ | Beschreibung |
|---|---|---|
aURL | const string | Absolute URL der abzurufenden Ressource. |
Ein IsgcFuture<string>, das sich zum Antwort-Body auflöst. Rufen Sie Await auf, um zu blockieren, bis die Antwort eintrifft, ThenProc, um den Body in einer Continuation zu verarbeiten, OnError, um Fehler zu behandeln, und Cancel, um die Anfrage abzubrechen.
GetFuture ist das Future-Gegenstück zum synchronen Get: Die Anfrage läuft in einem Hintergrundthread und die Methode kehrt sofort zurück, sodass der aufrufende Thread nie blockiert wird. Anders als bei ConnectAsync und den anderen Async-Methoden ist kein Event-Handler erforderlich: Die Antwort wird über das zurückgegebene Future zugestellt. Der Aufruf von Cancel trennt die Verbindung des Clients, sodass eine noch auf ihre Antwort wartende Anfrage abgebrochen wird, statt bis zum Ende zu laufen; eine abgebrochene oder fehlgeschlagene Anfrage weist das Future mit einer Exception zurück, die an OnError übergeben (oder von Await erneut ausgelöst) wird. Erfordert Delphi 2010 oder höher (und C++Builder 2010 oder höher); in der .NET-Edition ist es nicht verfügbar.
oClient.GetFuture('https://www.esegece.com')
.ThenProc(procedure(const aBody: string)
begin
WriteLn(aBody);
end)
.OnError(procedure(E: Exception)
begin
WriteLn('Request failed: ' + E.Message);
end);