現在地: Visual LANSA を使用したWeb アプリケーション > 20. ヒントとテクニック > 20.3 同期 vs 非同期データベース・アクセス > 20.3.2 非同期処理

20.3.2 非同期処理

非同期要求では、ブラウザが引き続き応答できるようになります。つまり、要求処理中であってもアプリケーションが利用できるということです。要求が完了すると、 SrvRoutine の Completed (完了) イベントが起動され、データ処理が可能になります。Web サーバーの応答が遅い場合でも、ユーザー・インターフェースはアクティブな状態なので、ユーザーはアプリケーションをナビゲートすることが可能です。ただし、サーバー要求の完了時に実行される処理がアプリケーションの動作を変える場合は問題になる可能性もあります。

同期要求と異なり、非同期処理ではブレークが提供され、これによって、ユーザーインターフェースを更新する機会が与えられます。

以下の例では、アプリケーションで詳細は非表示となり、データが戻った時に再度表示され、思い通りの動作が可能になります。

Evtroutine Handling(#List.ItemGotFocus)
    #Details.visible := False
   #GetData.ExecuteAsync(#Data)
 
   Evtroutine #GetData.completed
      #Details.visible := True
   Endroutine
 Endroutine