const init1 = async () =>{
const importObject = {
my_namespace: {
imported_func: arg => {
console.log(arg);
}
}
};
let s = 'data:application/wasm;base64,AGFzbQEAAAABCAJgAX8AYAAAAh4BDG15X25hbWVzcGFjZQ1pbXBvcnRlZF9mdW5jAAADAgEBBxEBDWV4cG9ydGVkX2Z1bmMAAQoIAQYAQSoQAAs=';
s = s.replace(/^data:[^;]+;base64,/,'')
let blob = uni.base64ToArrayBuffer(s);
WebAssembly.compile(blob).then(module => {
// 初始化Wasm模块
WebAssembly.instantiate(module,importObject).then(resultObject => {
const exports = resultObject.exports;
console.log('查看导出的内容', exports);
exports.exported_func()
// console.log('执行函数:', exports.addTwo(10 ,20));
})
})
// console.log(blob, WebAssembly.instantiate(blob,importObject))
const d = await WebAssembly.instantiate(blob,importObject)
d.instance.exports.exported_func();
}
init1()
- 发布:2024-08-13 11:32
- 更新:2024-08-13 18:04
- 阅读:183
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: window10
HBuilderX类型: 正式
HBuilderX版本号: 4.24
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: Mate 50 Pro
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
上述代码直接执行即可
上述代码直接执行即可
预期结果:
输出 console.log('查看导出的内容', exports);
输出 console.log('查看导出的内容', exports);
实际结果:
一直卡住 里面的代码一直在等待执行
一直卡住 里面的代码一直在等待执行
bug描述:
安卓端 webassembly.instantiate 异步一直卡住 不返回结果
1 个回复
DCloud_uni-ad_HDX
如果不需要多worker支持,直接使用下面的简洁导出