2 个版本
0.1.1 | 2023年2月21日 |
---|---|
0.1.0 | 2023年2月21日 |
#94 在 #前端
用于 wasm_extra
11KB
138 行
wasm_extra_macros
wasm_extra
的宏。
目前,库提供以下两项功能
-
名为
add_event_listener_with_callback!
的宏,该宏以::web_sys::EventTarget::add_event_listener_with_callback()
函数命名,并在内部使用::wasm_bindgen::closure::Closure::new()
从 Rust 闭包获取 JavaScript 闭包。 -
名为
add_event_listener_with_fn_once_callback!
的宏,内部使用::wasm_bindgen::closure::Closure::once_into_js()
处理FnOnce
闭包。
该宏的使用更为方便,与之对应的代码更容易理解。
在展开的代码中,事件目标 (open_files_btn
) 只出现在第 16 行,而在宏中,它是第一个参数,然后是事件名称,然后是“闭包序言”,最后是闭包本身。
"闭包序言"是一个术语,指的是在闭包本身执行之前执行的代码。它的作用是为闭包的环境做准备,例如,通过在捕获之前克隆变量。
在上面的代码中它是空的,但在下面的示例中不是。
此外,在上面的代码中,事件目标被闭包捕获。这需要特殊处理,并在事件目标的变量之前使用特殊符号“&”。
SemVer 政策
目前,没有任何 semver 保证。该库正在被动开发中。
许可证
根据您的选择,许可协议为Apache 许可证,版本 2.0 或 MIT 许可证。除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在此crate中的任何贡献,将按上述方式双许可,不附加任何其他条款或条件。
依赖项
~1.5MB
~35K SLoC