TsgcHTTP2ClientYöntemler › PostFuture

PostFuture Yöntem

Bir HTTP/2 POST isteğini arka plan iş parçacığında çalıştırır ve yanıt gövdesine çözümlenen bir future döndürür.

Sözdizimi

function PostFuture(const aURL: string; aData: TStream): IsgcFuture<string>;

Parametreler

NameTypeAçıklama
aURLconst stringPOST isteğini alacak mutlak URL.
aDataTStreamİstek gövdesini sağlayan akış. Future tamamlanana kadar akışı canlı tutun; istek gönderilirken akış arka plan iş parçacığından okunur.

Dönüş Değeri

Yanıt gövdesine çözümlenen bir IsgcFuture<string>. Yanıt gelene kadar engellemek için Await, gövdeyi bir devam işleminde tüketmek için ThenProc, hataları işlemek için OnError, isteği iptal etmek için Cancel çağırın.

Remarks

PostFuture, senkron Post yönteminin future tarzı karşılığıdır: istek bir arka plan iş parçacığında çalışır ve yöntem hemen döner, bu nedenle çağıran iş parçacığı hiçbir zaman engellenmez. PostAsync yönteminin aksine olay işleyicisi gerekmez: yanıt, döndürülen future aracılığıyla teslim edilir. Cancel çağrılması istemcinin bağlantısını keser; böylece yanıtını bekleyen bir istek tamamlanmak yerine iptal edilir. İptal edilen veya başarısız olan bir istek, future'ı OnError'a iletilen (veya Await tarafından yeniden fırlatılan) bir istisna ile reddeder. Delphi 2010 veya üzeri (ve C++Builder 2010 veya üzeri) gerektirir; .NET sürümünde kullanılamaz.

Örnek

oBody := TStringStream.Create('{"name":"John"}');
oClient.Request.ContentType := 'application/json';
oFuture := oClient.PostFuture('https://api.example.com/users', oBody);
try
  WriteLn(oFuture.Await);
finally
  oBody.Free;
end;

Yöntemlere Dön