main
当附加到 main 函数时,此属性将调整它以在可能的情况下正确抛出错误。
#[wasm_bindgen(main)] fn main() -> Result<(), JsValue> { Err(JsValue::from("this error message will be thrown")) }
该属性还允许在 Cargo 二进制文件中使用 async fn main()。
#[wasm_bindgen(main)] async fn main() { // ... future.await; }
此属性仅用于二进制文件或示例的 main 函数。与 #[wasm_bindgen(start)] 不同,它不会导致在库启动时执行任意函数。
返回类型的支持仿照了 Termination。 支持 () 和 Infallible,但不支持 Termination 本身。 为此,wasm-bindgen 将首先检测 Result<(), impl Into<JsValue>> 并抛出正确的 JsValue,Result<(), impl Debug> 将错误转换为字符串并抛出它。