API version 1

- ‐

get

タスクの結果を取得します。


タスクが正常に終了した場合、タスク内でreturnした値が返ります。

タスクが異常終了した場合、タスク内で発生した例外が再送出されます。

タスクが終了前に中断されていた場合、SYS-120:1 例外が発生します。

呼出形式一覧

呼出形式

説明

get([number wait_sec])

タスクの結果を取得します。

戻り値一覧

戻り値

説明

タスクの結果を返します。

  • 処理が正常終了 : タスクの戻り値を返します。 戻り値の型はタスク内容に依存します。

  • 処理が異常終了 : 処理内で発生した例外を再throwします。

  • 待機タイムアウト : null値を返します。

引数一覧

引数

説明

wait_sec

待機時間[秒]を指定します。

  • 負の値 : 処理完了まで待機します。

  • 0 : 処理が完了していなければ即時タイムアウトの動作をします。

  • 正の値 : 指定時間待機し、処理が完了していなければタイムアウトの動作をします。

既定値は-1です。

例外

識別子

説明

SYS-120:1

タスクは中断されました



使用例 CRSダウンロード

Form Task {
   x = 0;
   y = 0;
   width = 800;
   height = 600;

   var func = lambda[]() {
           Application.sleep(0.5);
           Task.setProgress(1);  # t + 0.5[sec]
           Application.sleep(2);
           Task.setProgress(2);  # t + 2.5[sec]
           Application.sleep(2);
           return 10; # delta + 4.5[sec]
   };

   # t + 0.0[sec]
   var task = AsyncTask.exec(func);
   print("起動時 ",task.getProgress()); # null : t + 0.0[sec] (基準時間)
   Application.sleep(2);
   print("2秒後 ",task.getProgress()); # 1 : t + 2.0[sec]
   Application.sleep(2);
   print("4秒後 ",task.getProgress()); # 2 : t + 4.0[sec]
   Application.sleep(2);
   var result = task.get();
   print("終了時 ",result); # 10 : t + 2.5[sec]以降

   var tasJ = AsyncTask.exec(func);
   Application.sleep(2);
   print("再確認",tasJ.getProgress()); # 1 : t + 2.0[sec]
   print("実行確認 ",tasJ.isBusy);
   print("TaskID =",tasJ.taskId);
   var resulj = tasJ.abort();
   print("中止 ",resulj);
   /* windowsのエラーが発生する場合があります */
}