BaseActor

waitForメソッド

指定した動作が終わるまで待機します

書式

※必ず待機可能モードで呼び出して下さい
r=waitFor(promise);

promiseには,スレッドまたはJavaScript/jQueryのPromiseオブジェクトを指定します(例:$.get(...)など ).

promiseが結果を返す(スレッドが正常終了する,またはpromise.done(f) の関数fが呼び出される)と,waitForメソッドは終了し,スレッドの戻り値またはfに渡された第1引数の値が戻り値として返されます.

promiseが失敗する(スレッドが例外を投げるか,killメソッドで停止させられる,promise.fail(f) の関数fが呼び出される)と,waitForメソッドは例外を投げます.例外オブジェクトee.originalに,fに渡された第1引数が格納されます

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"; }

.