Javascript AssemblyScript:动态本地数组大小

Javascript AssemblyScript:动态本地数组大小,javascript,webassembly,assemblyscript,Javascript,Webassembly,Assemblyscript,尝试创建一个大小为从JS导入的变量的数组似乎不起作用。 例如: 汇编脚本: 导出文件大小:u32 const arr=新UINT32阵列(arrSize) 导出函数init():void{ 未选中(testArr[0])=1 存储(0,未选中(testArr[0])) } JS: const memory=new WebAssembly.memory({initial:1}) WebAssembly.InstanceStreaming(fetch('module.wasm'){ 环境:{mem

尝试创建一个大小为从JS导入的变量的数组似乎不起作用。 例如:

汇编脚本:

导出文件大小:u32
const arr=新UINT32阵列(arrSize)
导出函数init():void{
未选中(testArr[0])=1
存储(0,未选中(testArr[0]))
}
JS:

const memory=new WebAssembly.memory({initial:1})
WebAssembly.InstanceStreaming(fetch('module.wasm'){
环境:{memory},
索引:{arrSize:2}
})。然后(模块=>{
const{init}=module.instance.exports
init()
const arr=new uint32阵列(memory.buffer,0,2)
控制台日志(arr)
})
然而,如果我在AssemblyScript文件中更改
const arr=new uint32数组(2)
,它就可以工作

有没有办法在WebAssembly模块中动态调整本地阵列的大小?

这样做:

export declare const count: i32;

const arr = new Array<i32>(count);
export function getCount(): i32 {
    return arr.length;
}
假设您的汇编脚本文件名为
index.ts

{
    index: {
        count: 22
    }
}