REST.Client.TCustomRESTRequest.ExecuteAsync

提供: RAD Studio API Documentation
移動先: 案内検索

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

プロパティ

種類 可視性 ソース ユニット
function public
REST.Client.pas
REST.Client.hpp
REST.Client TCustomRESTRequest


説明

要求を非同期的に実行します。つまり、専用のスレッドで実行します。

戻り値

AFreeThread パラメータが False に設定された場合、このメソッドは、この実行スレッドの参照を返します。

メモ: AFreeThread パラメータが True に設定された場合、このメソッドが返す参照は無効です。

パラメータ

このメソッドのパラメータは次のとおりです。

  • ACompletionHandler -- 要求の実行が完了した後に実行する無名メソッドを指定します。
  • ASynchronized -- これが True の場合、ACompletionHandler に設定されたメソッドはメイン スレッドのコンテキストで実行されます。False の場合、ACompletionHandler に設定されたメソッドは実行スレッドのコンテキストで実行されます。
  • AFreeThread -- これが True の場合、実行スレッドは要求の実行が完了した後に解放されます。

詳細

実行スレッドの実行中は、関与しているすべての TCustomRESTClient および  TCustomRESTRequest インスタンスのプロパティに他のスレッド(メイン スレッドを含む)からアクセスしてはいけません。
モバイル プラットフォームでは、ExecuteAsync メソッドを使用することを強くお勧めします。iOS(およびおそらく Android)では、メイン スレッドが応答しないと見なされる場合(つまり、実行中の要求から制御が戻るまでに 1 ~ 2 秒より長くかかる場合)、アプリケーションが終了します。(メイン スレッドのブロッキングに起因する)動作の遅さは、モバイル デバイスでは受け入れられないと考えられます。

関連項目