TsgcHTTP2Client › Yöntemler › PostFuture
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.
function PostFuture(const aURL: string; aData: TStream): IsgcFuture<string>;
| Name | Type | Açıklama |
|---|---|---|
aURL | const string | POST isteğini alacak mutlak URL. |
aData | TStream | İstek gövdesini sağlayan akış. Future tamamlanana kadar akışı canlı tutun; istek gönderilirken akış arka plan iş parçacığından okunur. |
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.
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.
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;