REST.Client.TCustomRESTRequest.ExecuteAsync

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function ExecuteAsync(ACompletionHandler: TCompletionHandler = nil; ASynchronized: Boolean = True;
AFreeThread: Boolean = True; ACompletionHandlerWithError: TCompletionHandlerWithError = nil): TRESTExecutionThread;

C++

TRESTExecutionThread* __fastcall ExecuteAsync(System::Sysutils::_di_TProc ACompletionHandler = System::Sysutils::_di_TProc(), bool ASynchronized = true, bool AFreeThread = true, System::DelphiInterface<System::Sysutils::TProc__1<System::TObject*> > ACompletionHandlerWithError = System::DelphiInterface<System::Sysutils::TProc__1<System::TObject*> >());

Propriétés

Type Visibilité  Source Unité  Parent
function public
REST.Client.pas
REST.Client.hpp
REST.Client TCustomRESTRequest


Description

Exécute une requête de manière asynchrone, c'est-à-dire qu'elle l'exécute dans son propre thread.

Valeur renvoyée

Lorsque le paramètre AFreeThread est défini sur False, cette méthode renvoie une référence à ce thread d'exécution.

Remarque : Si le paramètre AFreeThread est défini sur True, la méthode renvoie une référence non valide.

Paramètres

Cette méthode définit les paramètres suivants :

  • ACompletionHandler -- Spécifie une méthode anonyme devant s'exécuter à la fin de l'exécution de la requête.
  • ASynchronized -- Lorsque la valeur vaut True, spécifie que la méthode définie dans ACompletionHandler s'exécute dans le contexte du thread principal. Lorsque la valeur vaut False, ACompletionHandler s'exécute dans le contexte du thread d'exécution.
  • AFreeThread - Lorsque la valeur vaut True, le thread d'exécution est libéré à la fin de l'exécution de la requête.

Détails

Pendant l'opération du thread d'exécution, les propriétés de toutes les instances TCustomRESTClient et  TCustomRESTRequest impliquées doivent rester inaccessibles pour les autres threads (notamment le thread principal).
L'utilisation de la méthode ExecuteAsync est fortement recommandée sur les plates-formes mobiles. iOS, et surtout Android, arrêtent une application s'ils considèrent que le thread principal ne répond plus, c'est-à-dire lorsque l'exécution d'une requête dure plus d'une seconde ou deux. Cette lenteur (provoquée par le blocage du thread principal)  est considérée comme inacceptable sur les périphériques mobiles.

Voir aussi