TsgcHTTP2ClientMethoden › GetFuture

GetFuture Methode

Führt einen HTTP/2-GET in einem Hintergrundthread aus und gibt ein Future zurück, das sich zum Antwort-Body auflöst.

Syntax

function GetFuture(const aURL: string): IsgcFuture<string>;

Parameter

NameTypBeschreibung
aURLconst stringAbsolute URL der abzurufenden Ressource.

Rückgabewert

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.

Hinweise

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.

Beispiel

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

Zurück zu Methoden