Promise - hoge1e3/Tonyu2 GitHub Wiki

Tonyu2におけるPromiseオブジェクトの扱いについて

Tonyu2 の命令の中には,JavaScriptのPromiseオブジェクトを返すものがいくつかあります.(例:Panel.loadHTMLUI.getFileWebSocket.enterRoomなど)

※Promiseオブジェクトは,非同期処理(時間のかかる処理や,通信を必要とする処理など)の結果を受け取るための仕組みです.詳しくは「Javascript Promise」などで調べてみてください.

Promiseオブジェクトの結果を受け取るには,次の2つの方法があります.

waitForを使う

let e=waitFor($panel.load("test.png"));
print("test.png が読み込まれました");
  • JavaScriptのawaitに近いですが,次のような違いがあります.
    • awaitは直後の( )が省略できますが,waitFor( ) は省略できません.
    • 式の途中では使用できません.

thenメソッドを使う

$panel.load("test.png").then(function (e) {
    print("test.png が読み込まれました");
});

Tonyuでは次のように省略して書くことができます.詳細...

$panel.load("test.png").then \(e) {
    print("test.png が読み込まれました");
};