TsgcHTTP2ClientMétodos › GetFuture

GetFuture Método

Executa um GET HTTP/2 em uma thread em segundo plano e retorna um future que é resolvido com o corpo da resposta.

Sintaxe

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

Parâmetros

NameTypeDescrição
aURLconst stringURL absoluta do recurso a recuperar.

Valor de retorno

Um IsgcFuture<string> que é resolvido com o corpo da resposta. Chame Await para bloquear até a resposta chegar, ThenProc para consumir o corpo em uma continuação, OnError para tratar falhas e Cancel para abortar a requisição.

Observações

GetFuture é a contraparte no estilo future do método síncrono Get: a requisição é executada em uma thread em segundo plano e o método retorna imediatamente, de modo que a thread chamadora nunca é bloqueada. Ao contrário de ConnectAsync e dos outros verbos Async, nenhum manipulador de eventos é necessário: a resposta é entregue através do future retornado. Chamar Cancel desconecta o cliente, de modo que uma requisição ainda aguardando sua resposta é abortada em vez de ser executada até o fim; uma requisição abortada ou com falha rejeita o future com uma exceção entregue a OnError (ou relançada por Await). Requer Delphi 2010 ou posterior (e C++Builder 2010 ou posterior); não está disponível na edição .NET.

Exemplo

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

Voltar para Métodos