Promise - hoge1e3/Tonyu2 GitHub Wiki
Tonyu2におけるPromiseオブジェクトの扱いについて
Tonyu2 の命令の中には,JavaScriptのPromiseオブジェクトを返すものがいくつかあります.(例:Panel.load,HTMLUI.getFile,WebSocket.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 が読み込まれました");
};