TsgcHTTP2ClientMetodi › GetFuture

GetFuture Metodo

Esegue una GET HTTP/2 su un thread in background e restituisce un future che si risolve nel corpo della risposta.

Sintassi

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

Parametri

NomeTipoDescrizione
aURLconst stringURL assoluto della risorsa da recuperare.

Valore restituito

Un IsgcFuture<string> che si risolve nel corpo della risposta. Chiamare Await per bloccare fino all'arrivo della risposta, ThenProc per consumare il corpo in una continuazione, OnError per gestire gli errori e Cancel per annullare la richiesta.

Note

GetFuture è la controparte in stile future del metodo sincrono Get: la richiesta viene eseguita su un thread in background e il metodo ritorna immediatamente, quindi il thread chiamante non viene mai bloccato. A differenza di ConnectAsync e degli altri verbi Async, non è richiesto alcun gestore di eventi: la risposta viene consegnata tramite il future restituito. La chiamata a Cancel disconnette il client, quindi una richiesta ancora in attesa della risposta viene interrotta invece di essere portata a termine; una richiesta interrotta o non riuscita rifiuta il future con un'eccezione consegnata a OnError (o rilanciata da Await). Richiede Delphi 2010 o successivo (e C++Builder 2010 o successivo); non è disponibile nell'edizione .NET.

Esempio

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

Torna ai Metodi