【发布时间】:2020-11-25 14:14:44
【问题描述】:
我已经定义了一个元组结构:
pub struct ChangedCell(pub bool, pub u32, pub u32);
我的假设
ChangedCell 有 9 个字节(bool:1 个字节,u32:4 个字节,u32:4 个字节)
我做了什么
我将pointer, length 的Vec<ChangedCell> 返回给JavaScript:
const arr = new Uint8Array(memory.buffer, pointer, length * 9);
function getElements(n,arr) {
const isVal = arr[n * 9 + 0];
const val1 = arr.slice(n * 9 + 1, n * 9 + 5);
const val2 = arr.slice(n * 9 + 5, n * 9 + 9);
return {isVal,val1,val2}
}
预期行为
-
isVal成为valid [byte] -
val1成为valid [byte] * 4 -
val2成为valid [byte] * 4
问题
I am getting Garbage values!
你如何将这样的内容读入 JavaScript?
【问题讨论】:
-
为了帮助人们回答您的问题,您应该包含一个minimal, reproducible example,而不仅仅是代码的 sn-ps 并说明您的期望和当前得到的结果,而不仅仅是“它不工作” .
标签: rust wasm-bindgen webassembly