API version 1
- ‐
TaskResult¶
タスクの処理結果がセットされた際に発生します。
注意
このイベントは、タスクを生成する際に処理結果をイベントとして受け取るオブジェクトに送信されます。
Taskオブジェクト自体には発生しませんのでご注意ください。
Eventオブジェクトには下記のプロパティが付加されています。
型 |
名前 |
説明 |
---|---|---|
primitive |
result |
タスク処理内でreturnした値が格納されます。 例外が発生していた場合、null値が格納されます。 |
CRS::Common::Core::Exception |
exp |
タスク処理内で発生した例外が格納されます。 例外が発生していない場合、nullが格納されます。 |
Task.TaskProgressイベント, Task.TaskResultイベントの基本的な使用方法は下記の通りです。
Form form1 {
Button btn1 {
Function onTouch(e) {
var func = lambda[]() {
Application.sleep(0.5);
Task.setProgress(1); # t + 0.5[sec]
Application.sleep(1);
Task.setProgress(2); # t + 1.5[sec]
Application.sleep(1);
return 10; # delta + 2.5[sec]
};
# t + 0.0[sec] ※基準時間
var task = AsyncTask.exec(this, func);
}
Function onTaskProgress(e) {
Title = e.progress; # 二度よばれ、それぞれTitleに"1", "2"がセットされる
}
Function onTaskResult(e) {
title = e.result; # 一度のみ呼ばれ、Titleに"10"がセットされる
}
}
}
関連項目
AsyncTask.exec メソッド
TaskProgress イベント