TsgcHTTP2ClientMetody › GetFuture

GetFuture Metoda

Wykonuje żądanie GET HTTP/2 w wątku w tle i zwraca future, który rozwiązuje się do treści odpowiedzi.

Składnia

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

Parametry

NazwaTypOpis
aURLconst stringBezwzględny adres URL zasobu do pobrania.

Wartość zwracana

Obiekt IsgcFuture<string>, który rozwiązuje się do treści odpowiedzi. Należy wywołać Await, aby zablokować do nadejścia odpowiedzi, ThenProc, aby przetworzyć treść w kontynuacji, OnError, aby obsłużyć błędy, oraz Cancel, aby przerwać żądanie.

Uwagi

GetFuture jest odpowiednikiem w stylu future synchronicznej metody Get: żądanie jest wykonywane w wątku w tle, a metoda natychmiast zwraca sterowanie, dzięki czemu wątek wywołujący nigdy nie jest blokowany. W przeciwieństwie do ConnectAsync i innych metod Async nie jest wymagana żadna procedura obsługi zdarzeń: odpowiedź jest dostarczana poprzez zwrócony future. Wywołanie Cancel rozłącza klienta, dzięki czemu żądanie wciąż oczekujące na odpowiedź zostaje przerwane, zamiast być wykonane do końca; przerwane lub nieudane żądanie odrzuca future z wyjątkiem dostarczanym do OnError (lub zgłaszanym ponownie przez Await). Wymaga Delphi 2010 lub nowszego (oraz C++Builder 2010 lub nowszego); nie jest dostępna w edycji .NET.

Przykład

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

Powrót do metod