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>
會將錯誤轉換為字串並拋出該字串。