Q.AssemblyScriptでホスト側のJS関数を呼び出すにはどうすればいい?
A. こうする
ホスト側
function consoleLogString() {
alert('test!!');
}
// コンパイル時に引き渡すオブジェクト
// envというプロパティにエクスポートしたいものを入れる
const exportToWasm = {
env:{
consoleLogString:consoleLogString
}
};
WebAssembly.instantiateStreaming(fetch("./wa/test.wasm"),exportToWasm).then(mod => {
const test = mod.instance.exports.test;
test();
});
AssemblyScript(test.ts/test.wasm)側
// インポートする関数定義
declare function consoleLogString() : void;
export function test():void {
consoleLogString();
}
以上