BaseActor

waitForメソッド

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

書式

※必ず待機可能モードで呼び出して下さい

r=waitFor(promise);

promiseには,スレッドまたはJavaScript/jQueryのPromiseオブジェクトを指定します.例えば,Panel.loadHTMLUI.getFileWebSocket.enterRoomなどの戻り値はPromiseオブジェクトです.

promiseが結果を返す(スレッドが正常終了する,またはpromise がresolvedになる)と,waitForメソッドは終了し,スレッドの戻り値またはresolveされた値が戻り値として返されます.

promiseが失敗する(スレッドが例外を投げるか,killメソッドで停止させられる,promise がrejectedになる)と,waitForメソッドは例外を投げます.例外オブジェクトee.originalに,rejectされた値が格納されます

Promiseに対してwaitForを使った例

native $;
try {
    // $.getの結果がrに入る
    r=waitFor($.get("http://tonyu.jp/"));
    print(r.substring(0,100));
} catch(e) {
    //エラーの場合
    print(e.original.statusText);
}

スレッドに対してwaitForを使った例

try {
    // okを実行し,その結果がrに入る
    r=waitFor(parallel("ok"));
    print("Succ",r);
} catch(e) {
    //エラーの場合
    print("Err",e);
}

\ok() {
    updateEx(30);
    return "OK";
}

.

Backlink