指定した動作が終わるまで待機します
※必ず待機可能モードで呼び出して下さい
r=waitFor(promise);
promise
には,スレッドまたはJavaScript/jQueryのPromiseオブジェクトを指定します.例えば,Panel.load,HTMLUI.getFile,WebSocket.enterRoomなどの戻り値はPromiseオブジェクトです.
promise
が結果を返す(スレッドが正常終了する,またはpromise
がresolvedになる)と,waitForメソッドは終了し,スレッドの戻り値またはresolveされた値が戻り値として返されます.
promise
が失敗する(スレッドが例外を投げるか,killメソッドで停止させられる,promise がrejectedになる)と,waitForメソッドは例外を投げます.例外オブジェクトe
のe.original
に,rejectされた値が格納されます
native $;
try {
// $.getの結果がrに入る
r=waitFor($.get("http://tonyu.jp/"));
print(r.substring(0,100));
} catch(e) {
//エラーの場合
print(e.original.statusText);
}
try {
// okを実行し,その結果がrに入る
r=waitFor(parallel("ok"));
print("Succ",r);
} catch(e) {
//エラーの場合
print("Err",e);
}
\ok() {
updateEx(30);
return "OK";
}
.