如果我使用接受 a 的 wasm_bindgen 创建一个 Rust 函数,HtmlCanvasElement
我如何确保它在到达 Rust 端时失败?
JavaScript:
(async () => {
const demo = await import('./pkg/demo').catch(console.error);
demo.setCanvas('Hello Element!');
})();
锈:
use wasm_bindgen::prelude::*;
use web_sys::{console, HtmlCanvasElement};
#[wasm_bindgen]
pub fn setCanvas(canvas: &HtmlCanvasElement) {
// Why does this even get here? I didn't pass in an HtmlCanvasElement
console::log_1(&canvas);
}
看起来我正在获取类型HtmlCanvasElement
,但如果我尝试将其用作HtmlCanvasElement
,它没有功能,因为我传递的是字符串而不是实际的画布元素。我希望它在设置时失败,而不是在以后尝试使用它时失败。