TL;DR; Aysncify を使うことで、同期的な C/C++ 関数を、非同期なものにできます -s ASYNCIFY=1 をコンパイラオプションに指定した上で、 -s 'ASYNCIFY_IMPORTS=["関数1", "関数2", …]'のように非同期化する関数名を列挙してコンパイルします 出力される JS ファイルのサイズと、WASM ファイルサイズが増えます Aysncify とは Asyncifyとは、Emscripten の提供する機能の 1 つです。これを使うと次のことが可能になります。まさにマジック。 同期的なC/C++のコードを、非同期化します 非同期なJS APIの結果を、C/C++ 側では(擬似的な)同期的に受け取ることができます 何ができるのかを、試した結果をまとめました。まずは無限ループがあるコードを例にみてゆきましょう。 無限ループのあるコードが、メインスレ
