如何将 JS 实例化的对象存储在 Rust 的结构中并对其进行计算?
我根据教程创建了一个示例。
生锈部分:
#[wasm_bindgen]
pub struct Body {
position: f32
}
#[wasm_bindgen]
impl Body {
pub fn new() -> Body {
Body {
position: 0.
}
}
}
#[wasm_bindgen]
pub struct World {
bodies: Vec<Body>,
}
#[wasm_bindgen]
impl World {
// .. new etc
pub fn add_body(&mut self, object: Body) {
self.bodies.push(Body);
}
pub fn step(&mut step) {
// do something with bodies
}
}
const world = World.new();
const body = Body.new()
console.log('body', body);
world.add_body(body);
console.log('after added', body);
在body
添加到世界之后,它立即失去了它的引用。
Console.log 结果:
body Body {ptr: 1118264}
index.js:28 after added Body {ptr: 0}
是否可以将引用存储在 JS 中?我的用例:我在 JS 端处理所有交互等,在 wasm 端只处理繁重的计算。