JS不能向WASM传递数组?

简介: JS不能向WASM传递数组?

自从把OFFICE编译为wasm之后,吾就想解决怎样传递数组的事情。结果在TeaVM问题列表中,看到这样一个内容:


https://github.com/konsoletyper/teavm/issues/379


There's no way to transfer arrays between JavaScript and WebAssembly. So there's no way to transfer array between TeaVM/WebAssembly and JavaScript. If you want to transfer complex data structures between Java and JavaScript, you should prefer JavaScript target. Currently, targetting to WebAssembly gives no benefits, either in performance or memory consumption.


没有办法在JS和Wasm之间传递数组。所以没有办法在TeaVM和JS之间传递数组。如果你想在Java和JS之间传递复杂数据结构的话, 你应该使用JS target。目前这样做没有好处,性能和内存都一样。


is there a way to read & write from WebAssembly Memory(HEAP)


能否使用HEAP读写呢?



分析:


为什么不能传递数组呢?道理也简单,JS的数组是包含多种内容,在内存中乱七八糟。wasm想访问传递进来的数组,必须通过JS接口才有可能(肯定要再套一层)。而Wasm中没有对应的结构。


以目前来看,wasm提供一个访问方法,应该是唯一可行的办法。说起来容易,怎么做呢?

目录
相关文章
|
17天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
21 3
|
1天前
|
JavaScript
通过使用online表单的获取使用,了解vue.js数组的常用操作
通过使用online表单的获取使用,了解vue.js数组的常用操作
|
2天前
|
存储 JavaScript 前端开发
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
7 0
|
5天前
|
JavaScript 前端开发
js关于数组的方法
js关于数组的方法
9 0
|
5天前
|
JavaScript 前端开发
js怎么清空数组?
js怎么清空数组?
10 0
|
5天前
|
存储 JavaScript 前端开发
js处理数组的方法
js处理数组的方法
12 2
|
12天前
|
JavaScript 前端开发 索引
JavaScript 数组的索引方法数组转换为字符串方法
JavaScript 数组的索引方法数组转换为字符串方法
|
12天前
|
JavaScript 前端开发
JavaScript 数组的添加删除和排序
JavaScript 数组的添加删除和排序
|
13天前
|
Rust JavaScript 安全
🚀JS使用Wasm为你的文件MD5计算装上火箭引擎🚀
🚀JS使用Wasm为你的文件MD5计算装上火箭引擎🚀
|
15天前
|
JavaScript 前端开发
js 操作数组的方法
js 操作数组的方法
22 4