-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Description
現状はユーザー定義関数の実行が無限ループ内で行われるので動作が止まってしまいます。
具体的にはこういったコードで、ユーザー定義関数内で有効な操作があるまで画面更新を行わずawaitループを回すようなプログラムが動きません。
https://github.com/AmefuriTell/amayadori/blob/a5ff39165aac7b11b731e3dd37e5da49ecab1ab9/reversi/Reversi.hsp
解決案の一つとしてはasyncifyを使うと大きな変更なく上のようなプログラムも動くようになりました。
ただし、出力されるhsp3dish.jsのサイズが元の1.9Mから2.4MBに増えました。
これは、asyncifyを適用する関数をコンパイル時に指定すれば軽減できるそうです。
master...zakki:em-asyncify
他の対応として素直にはcode_callfunc()内で実行せずに親側で実行することも考えられますが、手を入れる必要のある個所が多そうです。
intelagense and fdelapena
Metadata
Metadata
Assignees
Labels
No labels