TsgcHTTP2Client › Metody › GetFuture
Wykonuje żądanie GET HTTP/2 w wątku w tle i zwraca future, który rozwiązuje się do treści odpowiedzi.
function GetFuture(const aURL: string): IsgcFuture<string>;
| Nazwa | Typ | Opis |
|---|---|---|
aURL | const string | Bezwzględny adres URL zasobu do pobrania. |
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.
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.
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);